6

いくつかのポイントと、これらのポイントを結ぶいくつかの線を含む静的なgoogleマップを生成しようとしています(線を運転方向に対応させる予定ですが、後で説明します)。現在、URLを生成するための次のようなコードがあります。

def getStaticMapAddress(self, route):
    url = "http://maps.google.com/maps/api/staticmap?center="+str(route[0].location.lat)+","+str(route[0].location.lng)+"&zoom=6&size=400x400&markers="
    i=0
    while i<len(route):
        url += str(route[i].location.lat)+","+str(route[i].location.lng)
        i=i+1
        if (i < len(route)):
            url += "|"
    url += "&path=color:0xff0000ff&weight:5"
    i=0
    while i<len(route):
        url += "|"+str(route[i].location.lat)+","+str(route[i].location.lng)
        i+=1
    url += "&sensor=false"
    return url

この関数では、「ルート」は、関連付けられた場所を持つユーザーのリストです。私のテストデータを使用して、このURLが生成されました。

http://maps.google.com/maps/api/staticmap?center=50.8202008,-0.1324898&zoom=6&size=400x400&markers=50.8202008,-0.1324898|51.447341,-0.0761212|51.4608947,-2.5884312&path=color:0xff0000ff&weight:5|50.8202008,-0.1324898|51.447341,-0.0761212|51.4608947,-2.5884312&sensor=false

その静的マップを見ると、マーカーは表示されますが、パスは表示されません。私はこれに関するドキュメント(http://code.google.com/apis/maps/documentation/staticmaps/#Paths)を見てきましたが、どこが間違っているのかわかりません。例を見ると、私のURLは例とまったく同じ形式になっているようです。誰かが私が間違っていることを知っていますか?

ありがとう

ベン

4

1 に答える 1

9

パスのカラーパラメータに問題があります。次のURIが機能します。

http://maps.google.com/maps/api/staticmap?center=50.8202008,-0.1324898&zoom=6&size=400x400&markers=50.8202008,-0.1324898|51.447341,-0.0761212|51.4608947,-2.5884312&path=weight:5|50.8202008,-0.1324898|51.447341,-0.0761212|51.4608947,-2.5884312&sensor=false

デフォルトの青い線が表示されます。

更新:「何か問題がある」とは、パスの色とパスの重みの間の区切り文字がアンパサンドではなくパイプ記号であるということです。これ:

http://maps.google.com/maps/api/staticmap?center=50.8202008,-0.1324898&zoom=6&size=400x400&markers=50.8202008,-0.1324898|51.447341,-0.0761212|51.4608947,-2.5884312&path=color:0xff0000ff|weight:5|50.8202008,-0.1324898|51.447341,-0.0761212|51.4608947,-2.5884312&sensor=false

動作し、赤い線を表示します。

于 2011-03-01T17:21:33.760 に答える