Google maps 将google地图多边形保存为rails记录
由于rails 3.2.18支持postGIS,应用程序需要从google maps API捕获多边形数据 调查结果如下:Google maps 将google地图多边形保存为rails记录,google-maps,google-maps-api-3,ruby-on-rails-3.2,postgis,Google Maps,Google Maps Api 3,Ruby On Rails 3.2,Postgis,由于rails 3.2.18支持postGIS,应用程序需要从google maps API捕获多边形数据 调查结果如下: 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
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 vs Lon/Lat PostGIS。在那里的时候,我只是想避免它。这将意味着对数据进行一些解析
那么,如何将多边形点单独或作为LonLat格式的多边形捕捉到数据库中呢?[请记住,我真的不精通js…]我可能希望向ruby脚本发出AJAX请求,然后将详细信息保存到DB中。您可以从事件中访问各个纬度和经度值,如下所示:
event.latLng.lat()
event.latLng.lng()
或者对任何返回LatLng对象的对象使用lat和lng函数。见文件: