Проблема с центрированием или позицией маркера на Картах Google
-
05-07-2019 - |
Вопрос
Я разрабатываю простое приложение Google Maps. Мне нужно просто разместить один маркер на карте. По какой-то причине маркер размещается за пределами видимой области карты. Это немного странно, потому что карта центрирована по координатам маркера. Вот код:
var point1 = new GLatLng(location1.lat,location1.lon);
map1.setCenter(point1, 15);
var marker1 = new GMarker(point1);
map1.addOverlay(marker1);
map1.setCenter(point1);
Когда мы немного перетаскиваем карту, мы можем видеть маркер. Мне нужно центрировать карту так, чтобы маркер был виден без перетаскивания карты.
Кто-нибудь может мне помочь?
Решение
Я полагаю, что объект GLatLng также будет принимать аргументы String - но для безопасности я бы гарантировал, что они являются целыми числами - попробуйте использовать:
new GLatLng(parseInt(location.lat), parseInt(location.lon));
Я также заметил, что вы вызываете map.setCenter во второй раз, и в этом нет необходимости.
Использование следующего кода действительно должно сделать это
map=new GMap(document.getElementById("map"));
var point = new GLatLng(parseInt(location.lat), parseInt(location.lon));
map.setCenter(point,5);
var marker = new GMarker(point);
map.addOverlay(marker);
Если у вас все еще есть проблемы, я бы проверил это "местоположение" Объект для проверки правильности заполнения значений .lat и .lon.
Другие советы
Проверьте этот код:
var map = new GMap(document.getElementById("map"));
/* -- snip -- */
map.centerAndZoom(new GPoint(-1.2736, 53.0705), 8);
С сайта, который я сделал недавно. Не стесняйтесь проверить источник:
http://www.primrose-house.co.uk/localattractions р>
Просто нажмите на ссылку в правом верхнем углу, чтобы перейти к представлению карты.