Почему мои булавки на карте становятся более неточными при дальнейшем уменьшении масштаба? Google Maps API V3 - PullRequest
2 голосов
/ 03 июня 2011

http://www.dissentskateshop.co.uk/store-locator/

Вы можете видеть, что булавка карты расположена в море, но если вы увеличите масштаб, она будет в том месте, где я ее установил. Я вырываю свои волосы с этим ...

Ответы [ 2 ]

4 голосов
/ 03 июня 2011

Исходя из этого поведения, я бы предположил, что точка привязки установлена ​​неправильно: якорь, кажется, находится внизу слева от изображения, хотя «видимый» якорь (штифт) более прав, поэтому всегда смещен. Если вы посмотрите на расстояние в пикселях, смещение от исходной координаты всегда будет постоянным, независимо от уровня масштабирования.

Я посмотрел на ваш скрипт: в файле store-locator.js, метод addMarker: четвертый параметр new google.maps.MarkerImage - это якорь. Вы установили его на (0,32) (т. Е. В нижнем левом углу изображения). Это не правильно! Получить правильное местоположение якоря и изменить код.

Редактировать: Я посмотрел на изображение: правильная координата якоря (16,31). Попробуйте: -)

2 голосов
/ 03 июня 2011

Это проблема с вашим пользовательским маркером, а не проблема регистрации координат карты.

Вам необходимо поместить точку привязки в центральную линию изображения: 16,32, а не 0,32. Я проверил это на копии вашей веб-страницы.

var image    =  new google.maps.MarkerImage('http://www.google.com/intlen_us/mapfiles/ms/micons/red-dot.png',
                                new google.maps.Size(32, 32),
                                new google.maps.Point(0,0),
                                new google.maps.Point(16, 32));

Также позаботьтесь и о редактировании теневого изображения.

Ради интереса я добавил Гринвичскую обсерваторию в ваши магазины. Json:

{
        "name"      : "Greenwich Observatory",
        "latitude"  : "51.47722",
        "longitude" : "0.0",
        "postcode"  : ""
}

На уровне масштабирования 6 (по умолчанию) маркер Гринвичской обсерватории находится к востоку от точки Кембриджа на карте. Увеличьте два уровня и это на запад! Это, конечно, до исправления ошибки.

...