-1
我搜索了這個錯誤的網站,雖然有幾個答案,但他們都沒有爲我工作(或不適用)。谷歌地圖OverlappingMarkerSpiderfier實例化問題
我使用谷歌地圖API v3,並試圖實施OverlappingMarkerSpiderfier來解決我的重疊標記問題。我的問題是,我不能創建OMS的一個實例:
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);
}
我收到以下錯誤:
InvalidValueError: setMap: not an instance of Map; and not an instance of StreetViewPanorama
我已經驗證了在實例化時發生錯誤,而不是在標記創建/放置。爲了徹底性,這裏是我想放置標記代碼:
var marker = new GMarker(new GLatLng(lat,long), {
draggable: false,
title: ($(this).find('COMPANY_NAME').text()),
icon: whiteicon,
map: map});
...
oms.addMarker(marker);
我也檢索OMS的不同副本的情況下,有一些靠不住的與原來的(從github下載)。
如果您需要查看更多的代碼,請讓我知道您在找什麼。我剛剛發佈了這些問題。我的地圖可以在沒有OMS的情況下正確生成 - 這只是oms實例化問題。
請提供[最小,完整,測試和可讀示例](http://stackoverflow.com/help/mcve)演示問題。 – geocodezip
雖然您看到您使用的是Google Maps API v3,但發佈的代碼是Google Maps JavaScript API v2代碼。該版本的API已棄用,不應用於新代碼。這也可以解釋你的問題與spiderifier。 – geocodezip
謝謝!你完全正確。 – dneimeier