如何使用GMaps JS API在Google Fusion Tables图层上显示标记?

时间:2014-09-02 23:17:49

标签: javascript google-maps google-maps-api-3 google-fusion-tables

我有一个带有Fusion Tables图层的Google Maps对象。我正在尝试这样做,以便当您单击FT图层时,您将看到单击的标记。我编写的代码可以获取您点击的位置的纬度和经度。我还编写了应该设置标记位置的代码,但它不起作用。

见下文......

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);
});

如何制作标记?

1 个答案:

答案 0 :(得分: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()
    });

  });