Мое приложение - это php-программа, и у меня есть только адресное имя, а не координация на карте. Но я считаю, что API Google Map требует координации, чтобы закрепить адрес. Как я могу это сделать? Спасибо.
У меня есть адрес: «20% 20 牛頭 角% 20 創業 街% 202 號% 20 美亞 工業 大廈% 202 樓% 202A% 20202 室». Это может быть поиск и закрепление в приложении карты Google, но когда я использую API Google для геокодирования, он показывает мне ZERO_RESULT:
http://maps.googleapis.com/maps/api/geocode/json?address=%E8%A7%80%E5%A1%98%20%E7%89%9B%E9%A0%AD%E8%A7%92%20%E5%89%B5%E6%A5%AD%E8%A1%97%202%E8%99%9F%20%E7%BE%8E%E4%BA%9E%E5%B7%A5%E6%A5%AD%E5%A4%A7%E5%BB%88&sensor=false
Просто сначала конвертируйте адрес в широты / долготы. Вы можете сделать это с помощью JavaScript или использовать PHP (и кешировать это позже). Вот упрощенная функция, чтобы сделать это для вас
function postcode_to_latlon($postcode){ $xml = simplexml_load_file('http://maps.googleapis.com/maps/api/geocode/xml?sensor=false&address='.$postcode); $lat = $xml->result->geometry->location->lat; $lon = $xml->result->geometry->location->lng; return array($lat, $lon); }
Этот процесс называется геокодированием.
Адрес не может быть найден тогда.Попробуйте упростить адрес или поменять местами, так что, возможно, Google поймет лучше.Также проверьте наличие ошибок в адресной строке.