Ali*_*jad 5 google-maps google-maps-api-3
我正在使用谷歌地图API V3,我想在用户点击地图时创建一个可编辑的100px X 100px矩形.
现在我只需要用户点击的(x,y)点,然后是(x + 100,y + 100)的lat和lng.任何的想法?
Mar*_*elo 16
此功能应在您传递给它的中心(LatLng)周围创建一个100 x100的矩形.
function setRectangle(center){
var scale = Math.pow(2,map.getZoom());
var proj = map.getProjection();
var wc = proj.fromLatLngToPoint(center);
var bounds = new google.maps.LatLngBounds();
var sw = new google.maps.Point(((wc.x * scale) - 50)/ scale, ((wc.y * scale) - 50)/ scale);
bounds.extend(proj.fromPointToLatLng(sw));
var ne = new google.maps.Point(((wc.x * scale) + 50)/ scale, ((wc.y * scale) + 50)/ scale);
bounds.extend(proj.fromPointToLatLng(ne));
var opts = {
bounds: bounds,
map: map,
editable:true
}
var rect = new google.maps.Rectangle(opts);
}
Run Code Online (Sandbox Code Playgroud)
您可以使用
var overlay = new google.maps.OverlayView();
overlay.draw = function() {};
overlay.setMap(map);
var proj = overlay.getProjection();
var pos = marker.getPosition();
var p = proj.fromLatLngToContainerPixel(pos);
Run Code Online (Sandbox Code Playgroud)
现在你可以从px和py中获取像素
| 归档时间: |
|
| 查看次数: |
12396 次 |
| 最近记录: |