我将这些坐标存储在数据库的一个字段中,用于在谷歌地图上绘制多边形。我想检测一个标记是否在这个多边形内:
(37.15730677081955, -3.7892532348632812),
(37.13486648362684, -3.7593841552734375),
(37.16059015678727, -3.7027359008789062)
有谁知道如何得到它?
我将这些坐标存储在数据库的一个字段中,用于在谷歌地图上绘制多边形。我想检测一个标记是否在这个多边形内:
(37.15730677081955, -3.7892532348632812),
(37.13486648362684, -3.7593841552734375),
(37.16059015678727, -3.7027359008789062)
有谁知道如何得到它?
您可以使用谷歌地图几何库 containsLocation() 方法,如下所示:
for (var j=0; j < allMarkers.length; j++){
for (var i=0; i < createdShapes.length; i++) {
var latlong = allMarkers[j].getPosition();;
if(google.maps.geometry.poly.containsLocation(latlong, createdShapes[i]) == true) {
allMarkers[j].setOptions({
icon : "http://labs.google.com/ridefinder/images/mm_20_white.png",
});
}
}
这是一些用 Java 编写的代码,用于检测 GPS 坐标是否在纬度/经度边界框内,它是数学的,因此可能会被翻译成其他语言。