当用户点击地图上的某个位置时,我正在使用Google Map API向地图添加标记。我想在单击时为新标记添加信息窗口,信息窗口将填充该位置的详细信息。 Google地图API会返回纬度和经度,因此我只需要一种获取此信息并获取位置的方法。
是否可以使用Latitude&借助Yahoo Geo Technologies来确定城市或城镇的经度?
答案 0 :(得分:3)
使用YQL,您可以获得可能的预测列表 第一步: 反向地理编码
SELECT woeid
FROM geo.places
WHERE text="##LATITUDE##, ##LONGITUDE##"
然后应用过滤器按placeType排序结果。这有助于您按地图级别准确度(城镇,城市,邮政编码,地区......)订购预测
SELECT woeid
FROM geo.places
WHERE text="##LATITUDE##, ##LONGITUDE##" |
SORT(field="placeTypeName.code")
现在使用simile join来获取上次查询产生的所有预测并过滤掉空结果
SELECT channel
FROM weather.woeid
WHERE w in (
SELECT woeid
FROM geo.places
WHERE text="##LATITUDE##, ##LONGITUDE##" |
SORT(field="placeTypeName.code"))
AND channel.location IS NOT NULL and u="c"
答案 1 :(得分:1)
Google有反向地理编码器,您应该使用它。为什么你需要雅虎?
http://code.google.com/apis/maps/documentation/services.html#ReverseGeocoding