Изменить маркер по умолчанию для изображения в GMaps API v3 - PullRequest
0 голосов
/ 20 мая 2011

Я пытаюсь адаптировать код (окно карт Google с боковой панелью), который я нашел в http://koti.mbnet.fi/ojalesa/boundsbox/makemarker_sidebar.htm для личного блога.

Я хочу изменить маркер по умолчанию для изображения (всегда один и тот же). Все мои попытки перекодировать потерпели неудачу. Изображение находится в папке images (images / landmark.gif); У меня пока нет абсолютного URL.

Я пытался следить за документацией API и поиском в Google, но безуспешно.

var infoWindow = new google.maps.InfoWindow();
var markerBounds = new google.maps.LatLngBounds();
var markerArray = [];

function makeMarker(options){
var pushPin = new google.maps.Marker({map:map});
pushPin.setOptions(options);
google.maps.event.addListener(pushPin, "click", function(){
infoWindow.setOptions(options);
infoWindow.open(map, pushPin);
if(this.sidebarButton)this.sidebarButton.button.focus();
});
var idleIcon = pushPin.getIcon();
if(options.sidebarItem){
pushPin.sidebarButton = new SidebarItem(pushPin, options);
pushPin.sidebarButton.addIn("sidebar");
}
markerBounds.extend(options.position);
markerArray.push(pushPin);
return pushPin;
}

google.maps.event.addListener(map, "click", function(){
infoWindow.close();
});

Ответы [ 2 ]

1 голос
/ 20 мая 2011

Это должно работать:

var infoWindow = new google.maps.InfoWindow();
var markerBounds = new google.maps.LatLngBounds();
var markerArray = [];

function makeMarker(options) {

    var pushPin = new google.maps.Marker({
        icon: 'images/monument.gif',
        map: map
    });

    pushPin.setOptions(options);

    google.maps.event.addListener(pushPin, "click", function() {
        infoWindow.setOptions(options);
        infoWindow.open(map, pushPin);
        if (this.sidebarButton) this.sidebarButton.button.focus();
    });

    if (options.sidebarItem) {
        pushPin.sidebarButton = new SidebarItem(pushPin, options);
        pushPin.sidebarButton.addIn("sidebar");
    }

    markerBounds.extend(options.position);
    markerArray.push(pushPin);
    return pushPin;
}

google.maps.event.addListener(map, "click", function() {
    infoWindow.close();
});

Единственные изменения - это свойство "icon" в MarkerOptions, и я удалил вызов getIcon ().

0 голосов
/ 20 мая 2011

Когда вы звоните makeMarker(), включите icon:"images/monument.gif" в список свойств опций следующим образом:

myPushPin = makeMarker({icon:"images/monument.gif", anotherOption:"anotherOptionValue"});
...