【发布时间】:2018-06-05 07:40:38
【问题描述】:
我想使用 MapBox API 在动态 CRM 上显示地址,我 使用过 Google API 并且运行良好,但现在我想使用地图框显示它。
我查看了 Mapbox 的前向地理位置功能,但还不清楚。 所以我的变量我的地址变量将来自一个字段。 例如 var address = "6 Antares Drive, Ottawa, Ontario K2E 8A2, Canada";
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<title>Add a geocoder</title>
<meta name='viewport' content='initial-scale=1,maximum-scale=1,user-scalable=no' />
<script src='https://api.tiles.mapbox.com/mapbox-gl-js/v0.43.0/mapbox-gl.js'></script>
<link href='https://api.tiles.mapbox.com/mapbox-gl-js/v0.43.0/mapbox-gl.css' rel='stylesheet' />
<style>
body { margin:0; padding:0; }
#map { position:absolute; top:0; bottom:0; width:100%; }
</style>
</head>
<body>
<script src='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v2.1.1/mapbox-gl-geocoder.min.js'></script>
<link rel='stylesheet' href='https://api.mapbox.com/mapbox-gl-js/plugins/mapbox-gl-geocoder/v2.1.1/mapbox-gl-geocoder.css' type='text/css' />
<div id='map'></div>
<script>
mapboxgl.accessToken = 'pk.eyJ1IjoibGF3aXgxMCIsImEiOiJjamJlOGE1bmcyZ2V5MzNtcmlyaWRzcDZlIn0.ZRQ73zzVxwcADIPvsqB6mg';
var map = new mapboxgl.Map({
container: 'map',
style: 'mapbox://styles/mapbox/streets-v9',
center: [-79.4512, 43.6568],
zoom: 13
});
var address = "6 Antares Drive, Ottawa, Ontario K2E 8A2, Canada";
var geocoder = new MapboxGeocoder({ accessToken: mapboxgl.accessToken });
geocoder.query(address); // how do i search and display this address
map.addControl(geocoder);
//map.addControl(new MapboxGeocoder({
// accessToken: mapboxgl.accessToken
//}));
</script>
</body>
</html>
如何在Html页面上显示类似google map的地址。
【问题讨论】:
-
在对 URI 组件进行编码产生
curl https://api.tiles.mapbox.com/geocoding/v5/mapbox.places/6%20Antares%20Drive%2C%20Ottawa%2C%20Ontario%20K2E%208A2%2CCanada.json?access_token=pk.eyJ1IjoibGF3aXgxMCIsImEiOiJjamJlOGE1bmcyZ2V5MzNtcmlyaWRzcDZlIn0.ZRQ73zzVxwcADIPvsqB6mg时,请参阅 stackoverflow.com/questions/38330100/… 的详细信息 -
谢谢,但它对我不起作用。
-
谢谢,但它没有用。我已经修改了 html var test = "6 Anatares Drive, Ottawa, ON , K2E 6AE, Canada"; var address = encodeURI(test); var dataz= "api.mapbox.com/geocoding/v5/mapbox.places/…"" // 地图样式加载到页面后,添加源图层和默认样式 // 单个点的样式。map.on('load', function() { map.addSource ('单点', { "type": "geojson", "data": dataz });
标签: javascript html mapbox mapbox-gl-js