需要帮助在Ionic 2应用程序中集成外部谷歌地图导航

时间:2017-04-06 05:15:51

标签: cordova google-maps angular typescript ionic2

我正在尝试将外部谷歌地图导航与骑行距离和时间相结合。我有一个方法,它由phonegap-launch-navigator提供。该方法的代码如下;

navigate()
{
    let options: LaunchNavigatorOptions = {
      start: this.start
    };
    LaunchNavigator.navigate(this.destination, options)
        .then(
            success => alert('Launched navigator'),
            error => alert('Error launching navigator: ' + error)
    );
  }

我的提交方法就像;

 submit() {
    let that = this;
    this.map.getCameraPosition().then(res => {
      let callback = that.navParams.get("callback")
      callback(res.target).then(() => {
        this._navController.pop();
      });
    })
  }

给出了一个latlng。

我在前端有一个导航按钮,可以调用此方法。开始和目的地需要latlng。我不知道如何从google maps api提供latlng并在导航方法中传递它们。任何帮助,将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

var lat = "1.39";
var lng = "103.84";

var latlng = new google.maps.LatLng(lat, lng);   
var coord = String(latlng);                      //(1.39, 103.84)
var result = coord.substring(1, coord.length-1); //1.39, 103.84
result = result.replace(/ /g,'');                //1.39,103.84
var list = result.split(",");                    //["1.39","103.84"]

var latnavi = list[0];
var lngnavi = list[1];

navigate(){
  LaunchNavigator.navigate([latnavi, lngnavi], options)
        .then(
            success => alert('Launched navigator'),
            error => alert('Error launching navigator: ' + error)
    );
}

请不要理解submit()navigate()的关联方式,如果我理解错误,请告诉我。