0

J'utilise cordova-plugin-googlemaps dans mon application. https://ionicframework.com/docs/native/google-maps/Ionique 2: utiliser HtmlInfoWindow dans le plugin-googlemaps natif de cordova

Mon code:

loadMap() { 

    var element: HTMLElement = document.getElementById('map'); 
    var map: GoogleMap = this.googleMaps.create(element); 
    map.one(GoogleMapsEvent.MAP_READY).then(() => { 

     var ionic: LatLng = new LatLng(50.5279314,30.2317489); 

     var position: CameraPosition = { 
     target: ionic, 
     zoom: 10, 
     }; 
     map.moveCamera(position); 

     var htmlInfoWindow = new HtmlInfoWindow(); 
     htmlInfoWindow.setContent('<div>Test</div>'); 

     map.addMarker({ 
     position: new LatLng(50.5279314,30.2317489), 
     }).then((marker: Marker) => { 
     marker.on(GoogleMapsEvent.MARKER_CLICK).subscribe(() => { 
      htmlInfoWindow.open(marker); 
     }); 
     }); 

    }); 

    } 

Lorsque je tente d'ouvrir HtmlInfoWindow, je reçois des erreurs. Aide, s'il vous plaît:

console.error: Unhandled Promise rejection: marker.bindTo is not a function. (In 'marker.bindTo("infoWindowAnchor", self)', 'marker.bindTo' is undefined) ; Zone: ; Task: null ; Value: [object Object] http://192.168.0.104:8102/plugins/cordova-plugin-googlemaps/www/HtmlInfoWindow.js:233:22 [email protected]http://192.168.0.104:8102/plugins/cordova-plugin-googlemaps/www/Map.js:620:26 [email protected]http://192.168.0.104:8102/plugins/cordova-plugin-googlemaps/www/HtmlInfoWindow.js:229:26 http://192.168.0.104:8102/build/vendor.js:56416:25 [email protected]http://192.168.0.104:8102/build/polyfills.js:3:15045 [email protected]http://192.168.0.104:8102/build/vendor.js:56415:31 http://192.168.0.104:8102/build/main.js:85:40 [email protected]http://192.168.0.104:8102/build/vendor.js:31152:20 [email protected]http://192.168.0.104:8102/build/vendor.js:31099:34 [email protected]http://192.168.0.104:8102/build/vendor.js:31039:30 [email protected]http://192.168.0.104:8102/build/vendor.js:31003:23 [email protected]http://192.168.0.104:8102/plugins/cordova-plugin-googlemaps/www/BaseClass.js:60:21 [email protected][native code] [email protected]http://192.168.0.104:8102/plugins/cordova-plugin-googlemaps/www/BaseClass.js:43:27 [email protected]http://192.168.0.104:8102/plugins/cordova-plugin-googlemaps/www/Map.js:982:23 [email protected]http://192.168.0.104:8102/plugins/cordova-plugin-googlemaps/www/googlemaps-cdv-plugin.js:313:32 [email protected][native code] [email protected][native code] [email protected]http://192.168.0.104:8102/cordova.js:235:35 global [email protected]http://192.168.0.104:8102/:1:37

+0

Voir ce [lien] (https://github.com/mapsplugin/cordova-plugin-googlemaps-doc/tree/master/v2.0.0/class/HtmlInfoWindow/newHtmlInfoWindow) – Sabari

+0

j'ai vu ce lien, mais cela n'aide pas – wstudiokiwi

Répondre

1

Il semble que l'équipe ionique a oublié de mettre en œuvre la méthode bindTo de BaseClass.

J'ai envoyé une demande d'extraction. Devrait marcher.

https://github.com/ionic-team/ionic-native/pull/1815

+0

J'ai toujours attendu que l'équipe ionique fusionne la demande de tirage pour une raison quelconque. – wf9a5m75

+0

La demande de tirage a été acceptée. Veuillez réinstaller le plugin. – wf9a5m75

+0

Salut @ wf9a5m75, j'ai mis à jour mon plugin aujourd'hui, mais il ne fonctionne toujours pas. Quand j'appelle 'htmlInfoWindow.open (marker);' il lance une erreur: 'TypeError: Object [object Object] n'a pas de méthode 'getId'' – Duannx