Поскольку в последнее время Google требует добавить ваш ключ для использования API, у меня возникла проблема с его запуском на скрипте, который раньше правильно вычислял расстояния.В моем коде у меня есть это:
<cfhttp url="http://maps.googleapis.com/maps/api/geocode/xml" method="GET">
, поэтому, если я добавлю ключ API следующим образом (согласно официальной документации):
<cfhttp url="http://maps.googleapis.com/maps/api/geocode/xml?key=MyKeyGoesHere" method="GET">
ColdFusion сообщает мне, что есть ошибка:
Элемент GEOCODERESPONSE.RESULT.GEOMETRY.LOCATION.LAT.XMLTEXT не определен в MYXMLDOC.
Я получил то же сообщение об ошибке, когда пытался добавить ключ черезcfhttpparam:
<cfhttpparam type="FORMFIELD" name="key" value="MyKeyGoesHere" />
Вот соответствующая часть сценария без ключа API:
<cfset address = '#usersearch#, DE'>
<cfhttp url="http://maps.googleapis.com/maps/api/geocode/xml" method="GET">
<cfhttpparam type="FORMFIELD" name="address" value="#address#" />
<cfhttpparam type="FORMFIELD" name="sensor" value="false" />
</cfhttp>
<cfset myXMLDoc = XMLParse(cfhttp.fileContent) />
<cfif myXMLDoc contains 'ZERO_RESULTS' or myXMLDoc contains 'OVER_QUERY_LIMIT'>
We have encountered an error, please contact the webmaster
<cfelse>
<cfset latitude = '#myXMLDoc.GeocodeResponse.result.geometry.location.lat.XmlText#'>
<cfset longitude = '#myXMLDoc.GeocodeResponse.result.geometry.location.lng.XmlText#'>
Я не знаю, где еще установить ключ API ...?