Google Map Zeichnung freihändig
AKTUELLE CODE - http://jsfiddle.net/YsQdh/88/ -
Diese Version verwendet gDouglasPeuker eine rudamentary Polygonform aus der gezeichneten Version zu erstellen - http://jsfiddle.net/YsQdh/94/
^dies deaktiviert die Karte für das Zeichnen und aktiviert es nach dem Erstellen der Form erneut.
Ich arbeite an einer Google Map-Anwendung. Im Gegensatz zu einer Polygon-Point-and-Click-Übung. Ich möchte eine Form zeichnen können, die dann in ein Polygon umgewandelt wird.
Hier ist meine neueste Anwendung - http://jsfiddle.net/Cbk9J/168/
ich den folgenden Code gefunden haben - aber ich bin nicht sicher, wie dies in dem Beispiel zu integrieren. Ich habe keine Dokumentation zur freien Handzeichnung gefunden und bin mir nicht sicher, ob diese Funktionen im Zeichnungsmanager von Google Maps vorhanden sind.
var completeFreehand = function (changed) {
if (changed) {
isUserPolygon = true;
updateLocation();
}
unhighlightControls();
showMessages();
updateListingResults();
};
var completeDelete = function() {
map.endDeleteSearchArea();
unhighlightControls();
showMessages();
};
var cancelDelete = function() {
if (map.isDeletingSearchArea()) {
completeDelete();
updateListingResults();
enableControls();
}
return false;
};
var cancelFreehand = function() {
if (map.isDrawingFreehand()) {
map.cancelFreehand();
completeFreehand();
enableControls();
}
};
var clearMap = function (silent) {
map.clearSearchArea(silent);
mostRecentPinCount = 0;
enableControls();
map.clearMarkers(true);
return false;
};
var drawFreehand = function (element) {
if (map.isDrawingFreehand()) {
cancelFreehand();
return;
} else if (map.isDeletingSearchArea()) {
completeDelete();
}
disableControls(true);
highlightControl(element);
hideMessages();
if ($(element).hasClass('js-maps-btn-add')) {
$('.js-maps-status-message-draw').removeClass('is-hidden');
} else {
$('.js-maps-status-message-new').removeClass('is-hidden');
}
map.clearMarkers();
map.drawFreehand(completeFreehand);
updateBasePolygon();
return false;
};
function updateBasePolygon() {
if (typeof(basePolygon) == 'undefined') {
var polys = map.getPolygons();
if (polys.length) {
basePolygon = $.map(polys, function (val, i) {
var a = val.getPath().getArray();
return [
$.map(a, function (val, i) {
return [[ val.lat(), val.lng() ]];
})
];
});
}
}
}
Ihr Beispiel scheint, dass mir zu arbeiten Sie freihändig Polygonzeichnungs haben . Ich bin mir nicht sicher, ob ich verstehe, was du sonst noch brauchst. –
Es ist nicht wie vorgesehen fertig - ich möchte in der Lage sein, freihändig zu zeichnen - nicht auf die Polygonpunkte zu klicken - zeichne eine Form wie Farbe. Dann habe es polygonisiert. –
http://www.zoopla.co.uk/for-sale/map/property/london/?include_retiement_homes=true&include_shared_ownership=true&new_homes=include&q=london&results_sort=highest_price&search_source=home&pn=1&view_type=map - gefällt das –