Google maps API: позиционирование изображения маркера - PullRequest
10 голосов
/ 16 марта 2011

Я изменил изображение, которое я использую для marker на картах Google. Новое изображение намного шире старого, и я заметил, что маркер выровнен по lat и lng, так что маркер лежит со своей горизонтальной средней точкой над lat и lng. Это не то, что я хочу, я хочу, чтобы lat и lng были выровнены с маркерами слева - я хочу сместить marker от положения по умолчанию примерно на 80 пикселей вправо.

Ответы [ 2 ]

9 голосов
/ 11 октября 2012

Примерь размер.

var markerImage = new google.maps.MarkerImage('/img/icon/here.png',
    new google.maps.Size(80, 80), //size
    new google.maps.Point(0, 0), //origin point
    new google.maps.Point(0, 80)); // offset point
marker[stamp] = new google.maps.Marker({
    position: loc, // loc is a variable with my lngLat object
    title: params.name,
    map: window.gMaps[params.map],
    icon: markerImage
});
0 голосов
/ 22 сентября 2011

Требуется свойство 'anchor' MarkerImage . Обратите внимание, что свойство origin перед якорем в вызове конструктора. Если вы не используете спрайты, вы можете просто отправить ноль для необязательных параметров.

Если ваш маркер 80х60 и вы хотите привязку в середине левой стороны, создайте его следующим образом:

var markerImage = new google.maps.MarkerImage('customIcon.png', new google.maps.Size(80, 60), null, new google.maps.Point(0, 30));

См. Также Пример Google .

...