Я использую API Google Maps для поиска домов в разных местах в городе. Все дома будут иметь маркеры, и пользователь будет рисовать несколько полигонов вокруг маркеров, исходя из его интересов.получить несколько полигонов в google maps API
Мне нужно проверить , что выбрали все местоположения пользователя и показать только эти маркеры на картах. С моим кодом я могу это сделать, но ударил с какой-то проблемой.
Как только пользователь нарисовал первый многоугольник, я сохраняю это в переменной, а затем объединяю его с координатами второго многоугольника и повторяю то же самое для всех многоугольники. Итак, все координаты многоугольников находятся в одном объекте. Всякий раз, когда я рисую несколько полигонов, все они связаны с полилинией, потому что я сохраняю их в одном объекте и отправляю их в mapOptions.
Как избавиться от этой проблемы? Ниже приведен код, который я использую, когда пользователь рисует многоугольник. Я хочу, чтобы все многоугольники быть независимыми друг-друга
function drawFreeHand(){
//the polygon
poly = new google.maps.Polyline({map:map,clickable:false});
//move-listener
var move = google.maps.event.addListener(map,'mousemove',function(e){
poly.getPath().push(e.latLng);
});
//mouseup-listener
google.maps.event.addListenerOnce(map,'mouseup',function(e){
google.maps.event.removeListener(move);
var path = poly.getPath();
poly.setMap(null);
var theArrayofLatLng = path.j;
var ArrayforPolygontoUse = GDouglasPeucker(theArrayofLatLng,50);
multi_poly = myFunction1(ArrayforPolygontoUse)
console.log(multi_poly);
var polyOptions = {
map: map,
fillColor: '#0099FF',
fillOpacity: 0.7,
strokeColor: '#AA2143',
strokeWeight: 2,
clickable: false,
zIndex: 1,
path:multi_poly,
editable: false
}
poly = new google.maps.Polygon(polyOptions);
});
}
function myFunction1(myVar) {
if(ArrayforPolygontoUse != undefined) {
str1 = ArrayforPolygontoUse;
}
else {
var str1 = [];
}
return ArrayforPolygontoUse = $.merge(str1,myVar);
}
Просьба [Minimal, Complete, испытано и читаемую пример] (http://stackoverflow.com/help/mcve), который демонстрирует проблему. – geocodezip
'Uncaught ReferenceError: GDouglasPeucker не определен' – geocodezip