代码之家  ›  专栏  ›  技术社区  ›  Nancy

角度谷歌地图方向-如何绑定出发地和目的地

  •  0
  • Nancy  · 技术社区  · 6 年前

    我使用下面的代码来绑定起点和目的地-纬度和经度。在获得原点(当前位置)和目的地(我从marker click获得值)之后,我将参数传递给url并尝试打开新选项卡。问题是参数没有传递到google地图的url。

    getDirection(dirLat: any, dirLng: any) {
        let srcLat, srcLng;
        if ('geolocation' in navigator) {
          navigator.geolocation.getCurrentPosition((position) => {
          srcLat = position.coords.latitude;
          srcLng = position.coords.longitude;
          });
        }
        this.dir = {
          origin: { latitude: 29.9809683, longitude: 31.3377553 },
          destination: { latitude: dirLat, longitude: dirLng }
        };
    
    
       // prints the values correctly for origin and destination{latitude: 29.9809683, longitude: 31.3377553}
    
        console.log('originDest', this.dir.origin, this.dir.destination);
        //in the below url, dir.origin and dir.destination does not get the values
        window.open('https://www.google.com/maps/dir/?api=1&origin={{dir.origin}}&destination={{dir.destination}}&travelmode=driving', '_blank');
    
      }
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   sambit    6 年前
     var p ='origin';
         var d = 'destination';
         window.open('https://www.google.com/maps/dir/?api=1&origin='+p+'&destination='+d+'&travelmode=driving','_blank' );
    

    您可以用这种方式绑定起点和终点

        2
  •  0
  •   Vishal Rajole    6 年前

    getCurrentPosition异步尝试获取设备的当前位置。

    由于异步特性,控制台日志显示正确的值。请在此阅读详细说明 Weird behavior with objects & console.log

    请在此处阅读有关地理位置api的更多详细信息 https://w3c.github.io/geolocation-api/#geolocation_interface