Embark on a journey of knowledge! Take the quiz and earn valuable credits.
Take A QuizChallenge yourself and boost your learning! Start the quiz now to earn credits.
Take A QuizUnlock your potential! Begin the quiz, answer questions, and accumulate credits along the way.
Take A QuizGeneral Tech Bugs & Fixes 3 years ago
User submissions are the sole responsibility of contributors, with TuteeHUB disclaiming liability for accuracy, copyrights, or consequences of use; content is for informational purposes only and not professional advice.
No matter what stage you're at in your education or career, TuteeHUB will help you reach the next level that you're aiming for. Simply,Choose a subject/topic and get started in self-paced practice sessions to improve your knowledge and scores.
Ready to take your education and career to the next level? Register today and join our growing community of learners and professionals.
Your experience on this site will be improved by allowing cookies. Read Cookie Policy
Your experience on this site will be improved by allowing cookies. Read Cookie Policy
manpreet
Best Answer
3 years ago
I have a Ionic App using google maps. I am trying to get latitude and longitude from data json api for flight route and that data json api content arrays , you can see link below for my data json . l want to display that json arrays on google map polyline, but l get error when run app .
ERROR Error: Uncaught (in promise): TypeError: Cannot use 'in' operator to search for 'getPosition' in undefined TypeError: Cannot use 'in' operator to search for 'getPosition' in undefined at getLatLng (plugins/cordova-plugin-googlemaps/www/Common.js:544) at Array.map ()
at Object.convertToPositionArray (plugins/cordova-plugin-googlemaps/www/Common.js:575)
at Map.addPolyline (plugins/cordova-plugin-googlemaps/www/Map.js:1231)
at vendor.js:76340
at GoogleMap.push../node_modules/@ionic-native/google-maps/index.js.GoogleMap.addPolylineSync (vendor.js:76352)
at HomePage.push../src/app/home/home.page.ts.HomePage.loadMap (home-home-module.js:126)
at home-home-module.js:114
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (polyfills.js:2749)
at Object.onInvoke (vendor.js:51123)
at resolvePromise (polyfills.js:3189)
at polyfills.js:3254
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (polyfills.js:2781)
at Object.onInvokeTask (vendor.js:51114)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (polyfills.js:2780)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (polyfills.js:2553)
at drainMicroTaskQueue (polyfills.js:2959)
full code
export class HomePage{ map: GoogleMap; latitude: any; longitude: any; constructor( public toastCtrl: ToastController, private platform: Platform, private http: HTTP ) { } ngOnInit() { // Since ngOnInit() is executed before `deviceready` event, // you have to wait the event. this.platform.ready(); this.getmarker(); } getmarker(){ this.http.get('xxxxxxx/v1/flight.json?flightId=201',{},{}) .then(data=>{ this.latitude = JSON.parse(data.data).result.response.data.flight.track.latitude this.longitude = JSON.parse(data.data).result.response.data.flight.track.longitude console.log(this.latitude,this.longitude) this.loadMap() }) } loadMap() { let HND_AIR_PORT = this.latitude; let SFO_AIR_PORT = this.longitude let AIR_PORTS = [ HND_AIR_PORT, SFO_AIR_PORT ]; this.map = GoogleMaps.create('map_canvas'); let polyline: Polyline = this.map.addPolylineSync({ points: AIR_PORTS, color: '#AA00FF', width: 10, geodesic: true, clickable: true // clickable = false in default }); polyline.on(GoogleMapsEvent.POLYLINE_CLICK).subscribe((params: any) => { let position: LatLng =params[0];
let marker: Marker = this.map.addMarkerSync({
position: position,
title: position.toUrlValue(),
disableAutoPan: true
});
marker.showInfoWindow();
});
}
}
l have too long data json response so i putted in link
Your help would be much appreciated.