Используя Широту и Долготу, чтобы получить место с Yahoo - PullRequest
2 голосов
/ 23 марта 2010

Я использую Google Map API для добавления маркеров на карту, когда пользователь нажимает на местоположение на карте. Я хочу добавить информационное окно для нового маркера, когда его щелкнули, информационное окно будет заполнено информацией о местоположении. API карты Google возвращает широту и долготу, поэтому мне просто нужен способ получения этой информации и определения местоположения.

Можно ли использовать широту и долготу вместе с Yahoo Geo Technologies для определения города или населенного пункта?

Ответы [ 2 ]

3 голосов
/ 02 августа 2011

Используя 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"
1 голос
/ 23 марта 2010

У Google есть обратный геокодер, вы должны его использовать. зачем тебе это нужно?

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

...