我正在使用Google Places API
搜索特定区域内的餐馆。
如何定义给定区域?例如我想在马哈拉施特拉邦的孟买区搜索。现在这是约。 5000平方公里,我无法一次性获得谷歌的所有结果。
因此,对于增量搜索,解决方案是通过增加给定起始点的纬度和长值来继续搜索。
示例代码 -
lat_NW = 53.4017872352
lng_NW = 5.954233125
lat_SE = 51.9766032969
lng_SE = 10.032130575
lat_curr = lat_NW
lng_curr = lng_NW
total_calls = 0
lat_incr = -.29
lng_incr = .29
while lng_curr<lng_SE:
lng_curr = lng_NW
while lat_curr > lng_SE:
curr_location = str(lat_curr) + "," + str(lng_curr)
print curr_location
url='https://maps.googleapis.com/maps/api/place/search/json?location=' + curr_location + '&sensor=false&key=' + GOOGLE_API_KEY + '&radius=20000&types=restaurant&name=mcdonalds'
response = urllib2.urlopen(url)
result = response.read()
d = simplejson.loads(result)
print d
lng_curr += lng_incr
lat_curr += lat_incr
PS(我在https://stackoverflow.com/处获得了此示例代码。)
问题 - 但问题是假设该区域是矩形的。有没有办法我们可以
我查看了Google文档中的google.maps.LatLngBounds类,不幸的是(据我所知),它讨论了导致矩形的NE和SW角落。
我在这个论坛的其他帖子上搜索了这个,我得到的是 -
http://www.maptechnica.com/us-city-area-map/city/Boston/state/MA/cityid/2507000
City: Boston, Massachusetts
Latitude/Longitude: 42.31435000000000, -70.96997850000000
Lat/Lon Northwest: 42.40082000000000, -71.19115500000000
Lat/Lon Southeast: 42.22788000000000, -70.74880200000000
---- Rectangle Again
现在似乎没有城市及其多边形边界的开源数据库。
感谢您的帮助。 和Manish