2015-05-29 14 views
14

Tôi đang sử dụng mã dưới đây để có được những kinh độ vĩ độ & của một địa chỉ:không thể nhập GoogleMaps tên trong python

from googlemaps import GoogleMaps 
gmaps = GoogleMaps(api_key) 
address = 'Constitution Ave NW & 10th St NW, Washington, DC' 
lat, lng = gmaps.address_to_latlng(address) 
print lat, lng 

nhưng đang nhận được báo lỗi dưới đây

File "C:/Users/Pavan/PycharmProjects/MGCW/latlong6.py", line 1, in <module> 
    from googlemaps import GoogleMaps 
ImportError: cannot import name GoogleMaps 

Tôi đã thấy một câu hỏi khác tương tự như vậy, nhưng giải pháp không hiệu quả với tôi.

Trả lời

6

Sử dụng geopy thay vào đó, không cần api-key.

Từ tấm gương của họ:

from geopy.geocoders import Nominatim 
geolocator = Nominatim() 
location = geolocator.geocode("175 5th Avenue NYC") 
print(location.address) 
print((location.latitude, location.longitude)) 

in:

Flatiron Building, 175, 5th Avenue, Flatiron, New York, NYC, New York, 10010, United States of America 
(40.7410861, -73.9896297241625) 
+1

mã này hoạt động tốt cho một vị trí và khi đang chuyển nhiều địa điểm đang nhận được tất cả các vĩ độ và kinh độ tương tự .. –

+1

điều này dường như hoạt động ngay bây giờ .. dù sao tôi cần phải xác định vị trí 44.000 địa điểm .. sẽ cố gắng để đặt chúng trong một tập tin và sẽ vượt qua chúng .. –

+0

@ PavanChakravarthy Tôi không quá quen thuộc với thư viện nhưng họ dường như có tài liệu tốt đẹp https: //geopy.readthedocs .org/vi/1.10.0/ – Scott

3

Tôi nghĩ rằng những gì bạn đang tìm kiếm là lớp học Client không phải là GoogleMaps.

Nếu bạn muốn gọi nó GoogleMaps nhập nó như sau:

from googlemaps import Client as GoogleMaps

+1

đã làm điều đó và bây giờ nhận được lỗi này file "C: /Users/Pavan/PycharmProjects/MGCW/latlong6.py", dòng 2, trong gmaps = GoogleMaps (api_key) TênError: tên 'api_key' là không được xác định –

+0

@PavanChakravarthy đó là vì bạn cần một api. Sử dụng geopy để thay thế. – Scott

+0

Bạn đã xác định tên api_key chưa? Có vẻ như bạn đã không. –

4

tùy chọn khác là phân tích cú pháp JSON từ photon.komoot.de. Ví dụ:

import requests, json 

url = 'http://photon.komoot.de/api/?q=' 
addresses = ['175 5th Avenue NYC', 'Constitution Ave NW & 10th St NW, Washington, DC'] 

for address in addresses: 
    resp = requests.get(url=url+address) 
    data = json.loads(resp.text) 
    print data['features'][0]['geometry']['coordinates'] 

in:

[-76.1438449, 40.229888] 
[-77.046567, 38.8924587] 

Những được đưa ra trong lon, lat. Thứ hai là một chút đi khoảng 1 dặm. Có vẻ như giao lộ đường phố rất khó khăn.

3

tôi có thể viết một mã cho địa chỉ nhiều nhưng nó không bao giờ làm việc .. Cuối cùng tìm thấy trang web này có thể tạo ra mã địa lý với số lượng lớn .. tôi nghĩ rằng nó có thể hữu ích cho một ai đó tìm kiếm mã địa lý số lượng lớn .. Nó cũng có mã hóa địa lý ngược ..

http://www.findlatitudeandlongitude.com/batch-geocode/#.VW2KRs-qqkq

Các vấn đề liên quan