標題有點說這一切,我有一個谷歌地圖api v3和一切工作正常,除了一個惱人的新功能,我似乎無法修復。隱藏和顯示標記將不會出現在谷歌地圖拖動
您可以通過點擊調用togglePOI()的按鈕來顯示和隱藏標記,但當我拖動標記並單擊隱藏並再次顯示時。除了我一直在拖動的標記之外,所有標記都會出現。所以這種拖拽似乎把事情搞亂了。我一直在頭痛這一個,所以任何幫助將不勝感激。
我不能粘貼所有的代碼在這裏,但如果你想看到一些其他的方面,你認爲造成這種只問和虐待把它英寸
var latlngs = new google.maps.MVCArray();
Map init etc
Marker creation
google.maps.event.addListener(locationMarker, "drag", function()
{
var index = findMarkerIndex(locationMarker, 1);
if (index >= 0)
{
var nLatLng = locationMarker.getPosition();
latlngs.setAt(index, nLatLng);
var nLat = nLatLng.lat();
var nLng = nLatLng.lng();
var modifiedLocation = {
Latitude: nLat,
Longitude: nLng
};
//SEND OUTPUT TO SELECT BOX
locations[index] = modifiedLocation;
document.getElementById('locations').options[index] = new Option('Num: ' + index + ' Pois: ' + nLat + ' - ' + nLng, data[4] + ',' + nLat + ',' + nLng + ',' + data[5]);
}
});
//FUNCTION CALLED FROM HTML BUTTON
function togglePOI()
{
if(togglePOIBool)
{
for(var i=0;i<markers.length;i++)
{
if (markers[i].category == 1) //ONLY HIDE CAT 1
markers[i].setMap(null);
}
togglePOIBool = false;
$("#togglePOIButton").val('Aan');
}
else
{
for(var i=0;i<markers.length;i++)
{
if (markers[i].category == 1)//ONLY SHOW CAT 1
markers[i].setMap(map);
}
togglePOIBool = true;
$("#togglePOIButton").val('Uit');
}
}
// Returns the index of the marker in the polyline.
function findMarkerIndex(locationMarker, option)
{
var index = -1;
for (var i = 0; i < markers.length; ++i)
{
if (markers[i] == locationMarker)
{
index = i;
break;
}
}
return index;
}
流不錯的工作就像一個魅力,而且它的方式更快,因爲它不必在所有標記再次裝入感謝。 – 2012-04-04 07:46:18
很高興幫助:) – 2012-04-04 13:28:32