Проблема с центрированием или позицией маркера на Картах Google

StackOverflow https://stackoverflow.com/questions/1802872

  •  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

Просто нажмите на ссылку в правом верхнем углу, чтобы перейти к представлению карты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top