-1

我已經有一個帶有Fusion Tables圖層的Google Maps對象。我試圖做到這一點,當你點擊FT圖層時,你會看到一個標記,你點擊。我已經編寫了可以獲取點擊的緯度和經度的代碼。我也編寫了應該設置標記位置的代碼,但它不起作用。如何使標記出現在使用GMaps JS API的Google Fusion Tables圖層上?

見下文......

google.maps.event.addListener(layer,'click',function(e){ 
    var clickedLatLng = { 
     lat: e['latLng']['B'], 
     lng: e['latLng']['k'] 
    } 

    var myLatLng = new google.maps.LatLng(clickedLatLng['lat'],clickedLatLng['lng']) 

    var marker = new google.maps.Marker({ 
     position: myLatLng, 
     map: gmap 
    }); 

    marker.setMap(gmap); 
}); 

如何讓這個出現的標誌?

+0

可能重複[?如何使這個腳本火,當我點擊一個Fusion Tables圖層(http://stackoverflow.com/問題/ 25626857 /如何-DO-I-MAKE-這個腳本 - 火時,我點擊-A-融合表層) – geocodezip 2014-09-03 00:25:34

回答

1

您的代碼(當前)有效,但有不良結果。

性質e['latLng']['B']e['latLng']['k']不記錄,你不應該試圖訪問他們,因爲屬性(Bk)的名字都沒有穩定的(見Something happened to my google map api script)。

你切換經度和緯度,標記會出現,而不是在點擊的地方(縮小地圖爲0,你會看到他的地方)

沒有必要創建一個新LatLnge.latLng已經是一個google.maps.LatLng,你可以直接使用它:

google.maps.event.addListener(layer,'click',function(e){ 

    new google.maps.Marker({ 
     position:e.latLng, 
     map: this.getMap() 
    }); 

    }); 
相關問題