2017-05-30 171 views
0

我有一个非常简单的科尔多瓦谷歌地图插件测试地图(使用version @ ionic-native/google-maps @ 3.10.3)。我只是想在使用它之前感受它。我有一个点击事件处理程序,但它只处理第一次点击。之后,它会停止响应任何未来的点击。这里是准备好的地图的代码:多次点击科尔多瓦谷歌地图插件

map.one(GoogleMapsEvent.MAP_READY).then(() => { 

    map.one(GoogleMapsEvent.MAP_LONG_CLICK).then((latLng) => { 
    console.log("long click: ", latLng); 
    }); 

}); 

另外,为什么它是map.one而不是map.on?

这里是我的离子信息:再次

Cordova CLI: 6.5.0 
Ionic Framework Version: 3.3.0 
Ionic CLI Version: 2.2.3 
Ionic App Lib Version: 2.2.1 
Ionic App Scripts Version: 1.3. 
ios-deploy version: Not install 
ios-sim version: Not installed 
OS: Windows 10 
Node Version: v6.10.0 
Xcode version: Not installed 
+0

将map.one()更改为map.on()? – getbuckts

+0

@getbuckts这会抛出一个错误:“属性”然后'类型'上不存在Observable ' 我的第一个想法是.one意味着要做一次,我问为什么它必须是一个,而不是所有的文档显示'一个',它真的很奇怪 – mycroft16

回答

0

检查文档:https://github.com/mapsplugin/cordova-plugin-googlemaps-doc/blob/master/v1.4.0/class/Map/README.md。当事件被触发时,它要求你传递回调函数。没有Promise返回这是你的代码是如何。

var evtName = plugin.google.maps.event.MAP_LONG_CLICK; 
map.on(evtName, function(latLng) { 
    alert("Map was long clicked.\n" + 
    latLng.toUrlValue()); 
}); 
+0

好吧,所以插件会抛出一个错误:“无法找到名称'插件'”我必须使用GoogleMapsEvent导入从@离子天然/谷歌地图 evtName = GoogleMapsEvent.MAP_LONG_CLICK为它工作 接下来 map.on(evtName,回调(){}); 给出:“提供的参数不匹配的任何签名调用目标“意思是说map.on(我也试过map.one)不需要两个参数。 如果有帮助,我有@ ionic-native/google-maps @ 3.10.3而不是1.4.0。 – mycroft16

相关问题