当我们自己的geojson图层出现时,如何从谷歌地图获取纬度长度? [英] how to get lat long from google map when our own geojson layer is there?

查看:154
本文介绍了当我们自己的geojson图层出现时,如何从谷歌地图获取纬度长度?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  google.maps.event.addListener(地图,'点击',功能(事件){
alert(Latitude:+ event.latLng.lat()+ +,longitude:+ event.latLng.lng());
});

当我们点击Google地图时,这段代码给了我们很长的时间。但它不起作用,当它有我们自己的geojson图层,如果我们有我们自己的geojson多边形图层,然后单击该多边形内上面的代码将无法正常工作

clickable:false )。 。



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

  google.maps .event.addListener(map,'click',function(event){
alert(Latitude:+ event.latLng.lat()++,longitude:+ event.latLng.lng ));
});
//为每个功能设置鼠标悬停事件。
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
});
});

概念证明小提琴


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

this code gives us lat long when we click on google map. but it does not work when there is our own geojson layer that is if we have our own geojson layer of polygon over google map then clicking inside that polygon the above code would not work

解决方案

Either add your click event listener to the Data layer or set the Data layer to not accept mouse events (clickable:false).

Set event listener on Data layer:

  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

Set Data layer to 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

这篇关于当我们自己的geojson图层出现时,如何从谷歌地图获取纬度长度?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆