我正在使用jQuery的自動完成。我想根據從自動填充中選擇的 結果繪製地圖。我有 經/緯來使用捕捉變量「經緯度」谷歌地圖API的jQuery自動完成結果
自動完成代碼:http://pastebin.com/YTNnDS51
谷歌地圖代碼:
var map = new GMap2($("#map").get(0));
var burnsvilleMN = new GLatLng(latlong);
map.setCenter(burnsvilleMN, 8);
// setup 10 random points
var bounds = map.getBounds();
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
var lngSpan = northEast.lng() - southWest.lng();
var latSpan = northEast.lat() - southWest.lat();
var markers = [];
for (var i = 0; i < 10; i++) {
var point = new GLatLng(southWest.lat() + latSpan * Math.random(),
southWest.lng() + lngSpan * Math.random());
marker = new GMarker(point);
map.addOverlay(marker);
markers[i] = marker;
}
$(markers).each(function(i,marker){
$("<li />")
.html("Point "+i)
.click(function(){
displayPoint(marker, i);
})
.appendTo("#list");
GEvent.addListener(marker, "click", function(){
displayPoint(marker, i);
});
});
$("#message").appendTo(map.getPane(G_MAP_FLOAT_SHADOW_PANE));
function displayPoint(marker, index){
$("#message").hide();
var moveEnd = GEvent.addListener(map, "moveend", function(){
var markerOffset = map.fromLatLngToDivPixel(marker.getLatLng());
$("#message")
.fadeIn()
.css({ top:markerOffset.y, left:markerOffset.x });
GEvent.removeListener(moveEnd);
});
map.panTo(marker.getLatLng());
}
如果我把谷歌地圖代碼的任何地方在頁面一個硬編碼的 lat/long它很好。問題是,對於我的使用,我需要等待繪製 地圖,直到自動完成事件發生後,我可以用 捕獲正確的緯度/經度。我不知道如何觸發谷歌地圖 刷新一次,我已經捕獲了經/緯
感謝您的想法
還有一個更大的問題是你的pastebin代碼。如果您複製並粘貼代碼以在IF的下一部分中更改變量名稱,那麼您正在做的事情非常錯誤。整個程序應該是它的大小的一半或更少。你應該看看OOP ......我甚至不想看看pastebin代碼,因爲它大膽地違背了最佳實踐。 – Incognito 2010-10-21 13:57:40
我沒有複製粘貼代碼來更改變量名稱。此外,我只是想獲得功能,然後我會清理代碼。更重要的是,你沒有時間通過嘗試傾倒在我的身上來提升你的自我。噓 – specked 2010-10-21 14:23:35