-1
google.maps.event.addListener(map, 'click', function( event ){
  alert( "Latitude: "+event.latLng.lat()+" "+", longitude:"+event.latLng.lng() ); 
});  

当我们点击谷歌地图时,这段代码给了我们很长的时间。但是当有我们自己的 geojson 层时它不起作用,也就是说,如果我们在谷歌地图上有自己的多边形 geojson 层,然后单击该多边形内部,上面的代码将不起作用

4

1 回答 1

1

将单击事件侦听器添加到数据层或将数据层设置为不接受鼠标事件 ( clickable:false)。

在数据层设置事件监听器:

  google.maps.event.addListener(map, 'click', function(event) {
    alert("Latitude: " + event.latLng.lat() + " " + ", longitude: " + event.latLng.lng());
  });
  // Set mouseover event for each feature.
  map.data.addListener('click', function(event) {
    alert("Latitude: " + event.latLng.lat() + " " + ", longitude: " + event.latLng.lng());
  });

概念证明小提琴

将数据层设置为clickable: false

map.data.setStyle(function(feature) {
  var color = 'gray';
  var opacity = 0.45;

  return /** @type {google.maps.Data.StyleOptions} */ ({
    fillColor: color,
    strokeColor: "black",
    strokeWeight: 2,
    strokeOpacity: opacity,
    fillOpacity: opacity,
    clickable: false
  });
});

概念证明小提琴

于 2016-12-29T13:36:53.610 回答