【发布时间】:2016-04-05 21:05:18
【问题描述】:
当用户点击谷歌地图上的一个点时,我正在反向地理编码,如下所示:
geocoder.geocode({'location': latlng}, function(results, status) {
if (status === google.maps.GeocoderStatus.OK) {
if (results[1]) {
console.log(results[1]);
在这个阶段,结果[1] 的控制台日志看起来像
Object {address_components: Array[4], formatted_address: "Rathmines, Co. Dublin, Ireland", geometry: Object, place_id: "ChIJN6MDC6kOZ0gRIhArCabX9o4", types: Array[2]}
但是当用户点击带有我弹出的地址的信息窗口时,我尝试将该对象传递给 ng-click 函数,如下所示:
ng-click='addressPicked("+results[1]+")'
我得到了错误
Error: [$parse:syntax] Syntax Error: Token 'Object' is unexpected, expecting []]
at column 23 of the expression [addressPicked([object Object])] starting at [Object])].
我在另一个应用程序中有这个工作,但我只是通过一个 lat & long 字符串。
在尝试将对象作为参数传递之前,是否需要将其转换为其他对象?
有人在使用 ng-click 之前遇到过这个错误吗?
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
如果
results变量在范围内,那么请尝试ng-click='addressPicked(results[1])'
标签: javascript angularjs google-maps geocoding angularjs-ng-click