ionic 2 打开谷歌地图,带有来自 2 个位置的方向

Posted

技术标签:

【中文标题】ionic 2 打开谷歌地图,带有来自 2 个位置的方向【英文标题】:ionic 2 open google maps with directions from 2 locations 【发布时间】:2018-03-26 14:16:47 【问题描述】:

当我单击一个按钮并显示来自源位置和目标位置的方向时,我需要打开谷歌地图。通过大量搜索,我找到了使用 InAppBrowser 的方法,但它不起作用。

这是我找到的代码:

  this.geolocation.getCurrentPosition().then((data) => 
      let lat = data.coords.latitude;
      let lng = data.coords.longitude;
      let bro = new InAppBrowser;

      if (this.platform.is('ios')) 
        bro.create('geo://?q=&saddr=' + data.coords.latitude + ',' + data.coords.longitude + '&daddr=' + this.dataitem['lat'] + ',' + this.dataitem['lng'], '_system');
      ;
      if (this.platform.is('android')) 
        bro.create('geo://?q=' + data.coords.latitude + ',' + data.coords.longitude + '&daddr=' + this.dataitem['lat'] + ',' + this.dataitem['lng'] + '', '_system');
      ;
  ).catch((err) => 
      console.log(JSON.stringify(err));
  );

有人可以帮忙吗?

【问题讨论】:

您是否尝试过使用IonicNative 完成此任务?这可能比尝试使用浏览器的查询字符串来做这件事更可取。 【参考方案1】:

安装Launch Navigator插件:

    安装 Cordova 和 Ionic Native 插件:

离子科尔多瓦插件添加 uk.co.workingedge.phonegap.plugin.launchnavigator

npm install --save @ionic-native/launch-navigator

    将 LaunchNavigator 添加到 app.module.ts

    将此代码添加到您的 ts 文件中:

    source: any = [22.303894, 70.802160] // source lat,long
    destination: any =  [23.022505, 72.571362] // dest lat,long
    
    navigate()
    
    let options: LaunchNavigatorOptions = 
       start: this.source
    ;
    
     this.launchnavigator.navigate(this.destination, options)
       .then(
        success => alert('Launched navigator'),
        error => alert('Error launching navigator: ' + error)
     );
    
    

完成!

【讨论】:

【参考方案2】:

使用它打开地图,确保安装了 In App Browser 插件。

let destination = latitude + ',' + longitude;

if(this.platform.is('ios'))
  window.open('maps://?q=' + destination, '_system');
 else 
 let label = encodeURI('My Label');
 window.open('geo:0,0?q=' + destination + '(' + label + ')', '_system');

Reference

【讨论】:

以上是关于ionic 2 打开谷歌地图,带有来自 2 个位置的方向的主要内容,如果未能解决你的问题,请参考以下文章

Ionic 2 谷歌地图标记点击

如何在谷歌地图 api 中计算从 1 个位置到许多其他位置的距离? [复制]

带有离子的谷歌地图

如何添加 Android 意图以在 Cordova/Ionic 项目中打开谷歌地图?

2 个位置之间未显示多段线,但显示了时间和距离

Android谷歌地图,如何让每个Marker InfoWindow打开不同的Activity?