静态地图API讨论路径,但没有提及圈子。这可能吗? 感谢
答案 0 :(得分:5)
你可以做的是使用encoded polyline algorithm产生足够的点来获得一个大致圆形的路径。确实存在编码:你需要获得圆的中心和半径,将其转换为一系列纬度/长度,然后使用算法进行编码。
作为替代方案,您可以使用透明的gif图像作为标记并将其放在地图中。
答案 1 :(得分:5)
您可以通过绘图详细def unique(arr):
index = 0
s = set()
for i in range(len(arr)):
if arr[i] not in s:
arr[index] = arr[i]
index += 1
s.add(arr[i])
arr[index:] = []
来表示圆圈,因为Google静态地图不支持自己绘制圆圈。
Here is a request example包含半径为0.5和5公里的 2个圆。请记住,您需要一个算法才能生成正确的编码折线。我使用这个implementation,因为我在PHP编码,但你可以根据你想要的语言自己找到或开发类似的东西。
以下是我用来生成请求的PHP代码:
PolyLine
感谢jomacinc的教程,享受:)
答案 2 :(得分:4)
您可以使用computeOffset方法轻松地近似一个圆圈,该方法允许您沿着圆周获得坐标。
在这个例子中,我使用了8度的增量,所以这将给出45对坐标。对于我使用的圆圈尺寸,静态地图中的圆圈看起来非常圆。如果您使用大圆圈,则只需将增量更改为更小的值,例如j = j + 6.
变量pathText
被添加到静态地图所需的其余网址中。
var pathText = '&path=';
var circumLatLng;
for (var j = 0; j < 361; j = j + 8) {
circumLatLng = google.maps.geometry.spherical.computeOffset(circle.getCenter(), circle.getRadius(), j);
pathText += circumLatLng.lat().toFixed(6) + ',' + circumLatLng.lng().toFixed(6) + '|';
}
答案 3 :(得分:2)
这是可能的,但你必须绘制一个有很多边的形状看起来像一个圆圈。
以下是我的例子:
<img src="http://maps.google.com/maps/api/staticmap?size=600x500&path=fillcolor:0x0000FF|weight:3|color:0xFF0000|enc:ue{cI|rrH`@qs@hBis@nDyr@rF_r@tH_q@xJyo@zLgn@vNol@rPsj@lRmh@`Taf@tUqc@dWy`@nX{]vY{ZxZuWx[kTr\_Qh]oMz]}If^iFl^uBn^?n^tBd^hFz]|Ih]nMr\~Px[jTxZtWvYzZnXz]dWx`@tUpc@`T`f@lRlh@rPrj@xNnl@xLfn@xJxo@vH~p@rF~q@lDxr@hBhs@b@ps@c@ps@iBfs@mDxr@sF~q@wH`q@yJvo@yLfn@yNpl@sPpj@mRlh@aTbf@uUnc@eWx`@oX|]wYzZyZtWy[jTs\~Pi]lM{]|Ie^jFo^rBo^?m^sBg^kF{]}Ii]mMs\_Qy[kTyZuWwY{ZoX}]eWy`@uUoc@aTcf@mRmh@sPqj@wNql@{Lgn@yJwo@uHaq@sF_r@oDyr@iBgs@a@qs@&sensor=true" border="0"/>
为了生成这个,我使用了freemaptools.com