CartoDB是否有根据用户位置更改中心位置的功能?
Does CartoDB have a function to change center location based on user location?
我的应用程序中集成了一张地图,该地图在全国范围内都有数据点。我想在用户当前位置打开地图。我只看到有关在 init 上设置中心的文档。
这甚至可能吗?还是我应该看看 Google 地图?
编辑:
我在本机应用程序的数据库中有用户位置(城市和州)。我想使用该数据并在初始化时将其传递给地图。
您使用的是哪个地理编码器?我使用 leaflet.js,当我打开我的地图并缩放到用户位置时,会出现一个共享位置弹出窗口。不过我使用的是 esri 地理编码器。
是的!试试这个...
navigator.geolocation.getCurrentPosition(loadPosition);
function loadPosition(position) {
lati = position.coords.latitude;
longi = position.coords.longitude;
map = L.map('map', {zoomControl: false}).setView([lati, longi], 15);
L.tileLayer('BASE_LAYER_URL', {maxZoom: 19,}).addTo(map);
啊,刚看到你的编辑...尝试将所需的纬度和经度设置为变量,然后使用 map.setView 函数(如下),可能会在某些用户事件上触发...
map.setView(new L.LatLng(latitudeVar, longitudeVar), 19);
我的应用程序中集成了一张地图,该地图在全国范围内都有数据点。我想在用户当前位置打开地图。我只看到有关在 init 上设置中心的文档。
这甚至可能吗?还是我应该看看 Google 地图?
编辑: 我在本机应用程序的数据库中有用户位置(城市和州)。我想使用该数据并在初始化时将其传递给地图。
您使用的是哪个地理编码器?我使用 leaflet.js,当我打开我的地图并缩放到用户位置时,会出现一个共享位置弹出窗口。不过我使用的是 esri 地理编码器。
是的!试试这个...
navigator.geolocation.getCurrentPosition(loadPosition);
function loadPosition(position) {
lati = position.coords.latitude;
longi = position.coords.longitude;
map = L.map('map', {zoomControl: false}).setView([lati, longi], 15);
L.tileLayer('BASE_LAYER_URL', {maxZoom: 19,}).addTo(map);
啊,刚看到你的编辑...尝试将所需的纬度和经度设置为变量,然后使用 map.setView 函数(如下),可能会在某些用户事件上触发...
map.setView(new L.LatLng(latitudeVar, longitudeVar), 19);