我有一个带有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);
});
如何制作标记?
答案 0 :(得分:1)
您的代码(当前)有效,但效果不理想。
未记录属性e['latLng']['B']
和e['latLng']['k']
,您不应尝试访问它们,因为属性(B
和k
)的名称不稳定(见Something happened to my google map api script)。
您已经切换了纬度和经度,标记会出现,但不会出现在点击的位置(将地图缩小到0并且您会在某处看到他)
无需创建新的LatLng
,e.latLng
已经是google.maps.LatLng
,您可以直接使用它:
google.maps.event.addListener(layer,'click',function(e){
new google.maps.Marker({
position:e.latLng,
map: this.getMap()
});
});