当我们自己的 geojson 层存在时,如何从 google 地图获取经纬度?

how to get lat long from google map when our own geojson layer is there?

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

当我们点击 google 地图时,此代码会为我们提供经纬度。但是当有我们自己的 geojson 层时它不起作用,也就是说如果我们在 google 地图上有我们自己的多边形 geojson 层然后在该多边形内部单击上面的代码将不起作用

将您的点击事件侦听器添加到数据层或将数据层设置为不接受鼠标事件(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());
  });

proof of concept fiddle

将数据层设置为 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
  });
});

proof of concept fiddle