2017-05-30 203 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

相關問題