Ich habe die Website für diesen Fehler durchsucht, und obwohl es mehrere Antworten gab, funktionierte keiner von ihnen für mich (oder waren nicht anwendbar).Google Maps OverlappingMarkerSpiderfier Instanziierungsprobleme
Ich benutze Google Maps API v3 und versuche OverlappingMarkerSpiderfier zu implementieren, um mein Problem mit überlappenden Markern zu lösen. Mein Problem ist, dass ich nicht eine Instanz eines OMS erstellen:
function getStateInfo(){
//do stuff
var lat = 42.5724;
var lon = -74.948052;
var map = new google.maps.Map(document.getElementById("map"),{draggableCursor:'pointer'});
var oms = new OverlappingMarkerSpiderfier(map,{markersWontMove: true, markersWontHide: true});
// do more stuff
var whiteicon = new GIcon();
whiteicon.image = "images/whiteCircle.png";
whiteicon.iconSize = new GSize(11, 11);
whiteicon.iconAnchor = new GPoint(6, 6);
whiteicon.infoWindowAnchor = new GPoint(6,6);
var marker = new GMarker(new GLatLng(lat,lon), {
draggable: false,
title: ($(this).find('COMPANY_NAME').text()),
icon: whiteicon,
map: map
});
oms.addMarker(marker);
}
ich die folgende Fehlermeldung erhalten:
InvalidValueError: setMap: not an instance of Map; and not an instance of StreetViewPanorama
ich überprüft habe, dass der Fehler zum Zeitpunkt der Instanziierung auftritt und nicht bei der Markierung Schöpfung /Platzierung. Für Gründlichkeit, hier ist der Code, den ich Marker zu verwenden, ich versuche zu setzen:
var marker = new GMarker(new GLatLng(lat,long), {
draggable: false,
title: ($(this).find('COMPANY_NAME').text()),
icon: whiteicon,
map: map});
...
oms.addMarker(marker);
Ich habe auch eine andere Kopie von OMS im Falle abgerufen, dass es etwas wackelig mit dem Original (heruntergeladen von GitHub).
Wenn Sie mehr Code sehen müssen, lassen Sie mich wissen, was Sie suchen. Ich habe gerade die Zeilen geschrieben, die das Problem darstellen. Meine Karte wird korrekt ohne OMS generiert - es ist nur die Instanziierung von oms.
Bitte geben Sie eine [Minimal, Complete, geprüft und Lesbare Beispiel] (http://stackoverflow.com/help/mcve), das zeigt, Das Thema. – geocodezip
Während Sie gesehen haben, dass Sie "Google Maps API v3" verwenden, ist der veröffentlichte Code Google Maps JavaScript API v2-Code. Diese Version der API ist veraltet und sollte nicht für neuen Code verwendet werden. Das könnte auch Ihr Problem mit dem Spiderifier erklären. – geocodezip
Danke! Sie sind genau richtig. – dneimeier