[英]Saving google map polygon as rails record
作為rails 3.2.18,啟用postGIS的應用程序需要從Google Maps API捕獲面數據。
js如下:
var poly, map;
var markers = [];
var path = new google.maps.MVCArray;
function initialize() {
var roma = new google.maps.LatLng(41.877, 12.480);
map = new google.maps.Map(document.getElementById("map"), {
zoom: 7,
center: roma,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
poly = new google.maps.Polygon({
strokeWeight: 3,
fillColor: '#5555FF'
});
poly.setMap(map);
poly.setPaths(new google.maps.MVCArray([path]));
google.maps.event.addListener(map, 'click', addPoint);
}
function addPoint(event) {
path.insertAt(path.length, event.latLng);
var marker = new google.maps.Marker({
position: event.latLng,
map: map,
draggable: true
});
markers.push(marker);
marker.setTitle("#" + path.length);
google.maps.event.addListener(marker, 'click', function() {
marker.setMap(null);
for (var i = 0, I = markers.length; i < I && markers[i] != marker; ++i);
markers.splice(i, 1);
path.removeAt(i);
}
);
google.maps.event.addListener(marker, 'dragend', function() {
for (var i = 0, I = markers.length; i < I && markers[i] != marker; ++i);
path.setAt(i, marker.getPosition());
}
);
}
當地圖生成多邊形時,我想在第一個實例中查看LatLng點(以跟蹤正在生成的內容),但最終要保存這些點。
第一個問題是LatLng(Google)與Lon / Lat(PostGIS)。 盡管總有可能翻轉數據 ,但我只是假設避免使用它。 這將暗示對數據進行某些解析。
那么如何將多邊形點單獨或作為LonLat格式的多邊形捕獲到數據庫中? [記住,我真的不精通js ...]
我可能想向ruby腳本發出AJAX請求,然后將詳細信息保存到數據庫。 您可以像這樣訪問事件中的各個緯度和經度值:
event.latLng.lat()
event.latLng.lng()
或者實際上在返回LatLng對象的任何對象上都使用lat()
和lng()
函數。 查看文檔: https : //developers.google.com/maps/documentation/javascript/reference#LatLng
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.