2

当用户单击地图上的某个位置时,我正在使用 Google Map API 向地图添加标记。我想在单击新标记时为其添加一个信息窗口,该信息窗口将填充该位置的详细信息。Google 地图 API 返回纬度和经度,所以我只需要一种获取这些信息并获取位置的方法。

是否可以通过 Yahoo Geo Technologies 使用纬度和经度来精确定位城市或城镇?

4

2 回答 2

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 来获取最后一个查询产生的 woeid 的所有预测并过滤空结果

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"
于 2011-08-02T07:57:58.777 回答
1

谷歌有一个反向地理编码器,你应该使用它。你为什么需要雅虎呢?

http://code.google.com/apis/maps/documentation/services.html#ReverseGeocoding

于 2010-03-23T19:23:31.020 回答