1

2 つの float 引数を必要とする関数(pygmaps モジュールの mymap.addpoint)があります。リスト内の各都市の緯度と経度を生成する for ループがあります。これらの座標を使用して複数のポイント (マーカーまたはピン) を Google マップに追加したいのですが、それらを引数として入力する方法がわかりません。map_regions は都市のリストです:

print map_regions
for item in map_regions:
        try:
            geo = Geocoder.geocode(item)
        except:
            pass
        else:
            point = (geo[0].coordinates)
        print point
regions_map.addpoint(lat, long)

上記のコードには、for ループに addpoint 関数が含まれていないことに気付きました。私はまだ、関数で 2 つの引数を 1 回だけ渡す方法を見つけようとしています。

2 つの引数が必要なため、これは機能しません。

regions_map.addpoint(point)

私はこれを試しましたが、2つの引数が浮動小数点数ではなく文字列として認識されているようです:

for item in map_regions:
        try:
            geo = Geocoder.geocode(item)
        except:
            pass
        else:
            point = (geo[0].coordinates)
            joint = ', '.join(map(str, point))
            split_point = joint.split(',', 2)
            lat = split_point[0]
            lon = split_point[1]
        print point
regions_map.addpoint(lat, long)

これは私が得るエラーです:

['MI', 'Allegan, MI', 'Alma, MI (All Digital)', 'Almont Township, MI', 'Alpena, MI', >'Arnold Lake/Hayes, MI (All Digital)', 'Auグレ、MI']

(44.3148443、-85.60236429999999)

(42.5291989、-85.8553031)

(43.3789199、-84.6597274)

(42.9450131、-83.05761559999999)

(45.0616794、-83.4327528)

(45.0616794、-83.4327528)

(44.0486294、-83.6958161)

トレースバック (最新の呼び出しが最後):

ファイル "/Users/digital1/Dropbox/Programming/Map_Locations/gmaps.py"、82 行目、gmaps_mapit()

ファイル "/Users/digital1/Dropbox/Programming/Map_Locations/gmaps.py"、78 行目、>gmaps_mapit regions_map.draw('./mymap.html') 内

ファイル "build/bdist.macosx-10.6-intel/egg/pygmaps.py"、48 行目、描画中

ファイル「build/bdist.macosx-10.6-intel/egg/pygmaps.py」、83 行目、ドローポイント

ファイル「build/bdist.macosx-10.6-intel/egg/pygmaps.py」、129 行目、ドローポイント

TypeError: str ではなく float 引数が必要です

複数のポイントを生成するために for ループ (またはその他のもの) を使用して関数の引数として座標を渡すにはどうすればよいですか?

私はかなり上手なグーグルですが、これは難しいです。どうやって検索すればいいのかもわかりません。ありがとう

4

1 に答える 1

0

エラーはaddpoint()、関数にはfloatとしてパラメーターが必要であると言い、それらを文字列として渡しています。必要なのは、それらを float として解析することだけです。

regions_map.addpoint(float(lat), float(long))
于 2014-04-03T07:57:38.830 に答える