我有一个完整的页面地图,我想要做的是修复一个地图的一部分上的多边形/矩形,如such,这样多边形将保留在即使地图被拖动,也是同一个地方。然后,我想将多边形的中心设置为搜索查询可能的任何内容。 Here is another image to illustrate what I mean.遗憾的是,从文档中看起来好像只能在另一个图层中创建多边形,这些多边形可以保持附着在基本地图上的特定图块上。除此之外,除了设置其边界外,文档不会列出任何设置多边形中心的方法。
因此,我有几个问题:
P.S。如果你打算回答我的问题,至少说明原因,并给我一个机会解决你的问题可能是什么......
答案 0 :(得分:0)
我建议绝对定位像这样的div
<div id="mapdiv">
<div id="rect"></div>
</div>
和css
#mapdiv {
position:relative;
width:600px;
height:400px;
background-color:#333;
}
#rect {
position:absolute;
top: 10%;
left: 10%;
width:80%;
height:80%;
background-color:#FFF;
}
关于在地图中使用坐标和多边形。我对路线等有一些经验,并且必须说可以获得形状,但每次都要求地图刷新并进行绝对定位。不确定是否可能
答案 1 :(得分:0)
对不起,最后的答案......被误解了。您是否尝试过此操作并添加窗口宽度偏移量
function polygonCenter(poly) {
var lowx,
highx,
lowy,
highy,
lats = [],
lngs = [],
vertices = poly.getPath();
for(var i=0; i<vertices.length; i++) {
lngs.push(vertices.getAt(i).lng());
lats.push(vertices.getAt(i).lat());
}
lats.sort();
lngs.sort();
lowx = lats[0];
highx = lats[vertices.length - 1];
lowy = lngs[0];
highy = lngs[vertices.length - 1];
center_x = lowx + ((highx-lowx) / 2);
center_y = lowy + ((highy - lowy) / 2);
return (new google.maps.LatLng(center_x, center_y));
}
在绝对定位之后,我仍然不太确定 可能是一个很好的起点
编辑:在堆栈中发现此链接实际上应该在不知道您的设置how-do-i-get-google-maps-to-show-a-whole-polygon
的情况下工作