【问题标题】:Detect if point is inside a building in Google Maps检测点是否在谷歌地图的建筑物内
【发布时间】:2023-04-01 17:48:01
【问题描述】:

我想检测我在给定的 Lat/Lng 是否有一个标记,这个位置是在建筑物内还是在任何基础设施内。就像@http://web.iiit.ac.in/~jayesh.lahori/map.png 的地图有两个红色和蓝色标记,它们都是任何建筑物/基础设施的一部分。

【问题讨论】:

  • 你找到解决这个问题的办法了吗?

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


【解决方案1】:

您可以为建筑物创建一个多边形,然后测试您的点是否在建筑物内。

building = new google.maps.Polygon({
    paths: buildingCoords,
    strokeColor: '#FF0000',
    strokeOpacity: 0, //invisible
    strokeWeight: 2,
    fillColor: '#FF0000',
    fillOpacity: 0 //invisible
  });

yourPointCoords = {
        lat : 12.78272115660313,
        long : 6.872586727142334
    }

if(google.maps.geometry.poly.containsLocation(yourPointCoords, building)) {
    //your business
}

【讨论】:

  • 但是,这里的问题是该点的位置不是静态的,我希望它是动态的。所以场景是,考虑到我必须检查它是否位于任何建筑物内。即,建筑物和点的位置都不是固定的。还有其他建议吗??
【解决方案2】:

查看 Google Maps API 条目以进行反向地理编码

https://developers.google.com/maps/documentation/javascript/geocoding#ReverseGeocoding

【讨论】:

    猜你喜欢
    • 2016-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多