Сначала проверьте, все ли работает как положено в обратном вызове.Для этого измените это:
latlng = result[0].geometry.location;
На это:
console.log(result[0].geometry.location);
(Вы также можете просто добавить console.log
над назначением latlng
вместо его изменения. На самом деле, это, вероятно, лучше.)
Если получающееся сообщение в вашей консоли JavaScript выглядит как объект latlng
, то проблема, скорее всего, связана с областью видимости - другими словами, latlng
вне обратного вызоване то же самое, что latlng
внутри обратного вызова.
Если полученное сообщение в консоли JavaScript не похоже на объект latlng
, то проблема заключается в самом обратном вызове.Проверьте, получаете ли вы какие-либо результаты вообще, поместив туда, где вы поставили последний console.log()
выше:
console.log(result);
Если эти console.log
команды никогда не запускаются и ничего не появляется в вашей консоли JavaScript, тогдастатус, возвращаемый из geocoder.geocoder()
, не является OK
, и вам нужно добавить некоторую обработку ошибок в обратный вызов, чтобы увидеть, что происходит.