2015-06-26 3 views
0

У меня есть карта, которая интегрирована в мое приложение, которое имеет точки данных по всей стране. Я бы хотел, чтобы карта открывалась в текущем местоположении пользователей. Я вижу только документацию для установки центра на init.Имеет ли CartoDB функцию изменения местоположения центра в зависимости от местоположения пользователя?

Возможно ли это, или я должен искать Карты Google?

EDIT: У меня есть местоположение пользователя (город и штат) в моем родном приложении db. Я хотел бы использовать эти данные и передать их на карту после init.

ответ

0

Да! Попробуйте это ...

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); 
0

Какой геокодер вы используете? Я использую leaflet.js, и появляется всплывающее окно с общим доступом, которое появляется, когда я открываю свою карту и масштабирую ее местоположение. Тем не менее, я использую esri geocoder.

+0

Очевидно, что у Cartodb есть своя геокодер за кулисами. Я предполагаю, что я использую этот. Подумайте об этом, я не уверен, что мне нужно всплывающее окно с просьбой использовать их местоположение, у моего родного приложения уже есть свой город и штат. Я больше думаю о том, как передать это в окне поиска при инициализации. Cartodb поставляется с полем поиска, и если вы поместите в почтовый индекс, он доставит вас туда в правильном центре и увеличит масштаб. – blankpage985

 Смежные вопросы

  • Нет связанных вопросов^_^