我正在尝试使用Google的绘图工具(https://developers.google.com/maps/documentation/javascript/examples/drawing-tools),这样我就可以在地图上绘制并获得坐标。
这是小提琴 - https://jsfiddle.net/mg0t5x8n/2/
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
center: {lat: 52.908978, lng: -1.451871},
zoom: 14
});
var drawingManager = new google.maps.drawing.DrawingManager({
drawingMode: google.maps.drawing.OverlayType.POLYLINE,
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
// drawingModes: ['marker', 'circle', 'polygon', 'polyline', 'rectangle']
drawingModes: ['polyline']
},
markerOptions: {icon: 'https://developers.google.com/maps/documentation/javascript/examples/full/images/beachflag.png'},
circleOptions: {
fillColor: '#ffff00',
fillOpacity: 1,
strokeWeight: 5,
clickable: false,
editable: true,
zIndex: 1
}
});
drawingManager.setMap(map);
google.maps.event.addListener(drawingManager, 'polylinecomplete', function(line) {
console.log(line.getPath().getArray().toString());
alert(line.getPath().getArray().toString());
});
};
initMap();
将最后一行连接到您绘制的第一行的开头后,您将获得坐标列表。 获得这些坐标后,我需要在数据库中运行一个查询(其中我有位置列表,每个都有lat和lon值),它检索属于给定点的所有位置。
我不确定这是否可以使用sql或需要不同的东西。
很抱歉,如果这个问题有点模糊,我会在很早的阶段对此进行处理,并希望获得一些信息,看看它是否可行,如果可以的话,我将如何处理它。
******更新******
在检索多边形的lat和lon值之后 - 我遇到了这个php函数(http://assemblysys.com/php-point-in-polygon-algorithm/#comment-1243)。它正在做我想做的事情 - 需要一些修改。可能对希望实现类似功能的其他人有所帮助。