Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图。如何从带有坐标的数组向链接添加坐标?_Javascript_Jquery_Arrays_Google Maps - Fatal编程技术网

Javascript 谷歌地图。如何从带有坐标的数组向链接添加坐标?

Javascript 谷歌地图。如何从带有坐标的数组向链接添加坐标?,javascript,jquery,arrays,google-maps,Javascript,Jquery,Arrays,Google Maps,我有一个自定义的地图在我的页面上,我需要有一个可能性重定向到谷歌地图的方式从我的地理点到我的地图上的对应点,所有坐标设置在数组中 我的html链接 <div id="store-2" class="popup"> <ul class="tabs"> <li>link to tab</li> <li>link to tab</li> <li>link to tab</li> </u

我有一个自定义的地图在我的页面上,我需要有一个可能性重定向到谷歌地图的方式从我的地理点到我的地图上的对应点,所有坐标设置在数组中

我的html链接

<div id="store-2" class="popup">
 <ul class="tabs">
  <li>link to tab</li>
  <li>link to tab</li>
  <li>link to tab</li>
 </ul>
 <div id="tab1">
  <div class="btn">
   <a href="http://maps.google.com/maps?saddr" class="location">CTA</a>
  </div>
 </div>
 <div id="tab2">
  <div class="btn">
   <a href="http://maps.google.com/maps?saddr" class="location">CTA</a>
  </div>
 </div>
 <div id="tab3">
  <div class="btn">
   <a href="http://maps.google.com/maps?saddr" class="location">CTA</a>
  </div>
 </div>
</div>
应该这样做的脚本

storeLocator.moveToStore = function (){
var $pos = $storeInfoItems; // wrapper for block
var $navigateLink = $pos.find('.location'); //link that should be replaced
var geolocationAccepted = false;

  var success = function(pos) {
    for (var i=0; i<points.length; i++) {

      var posLatitude = points[i][1]; //coordinates for array
      var posLongitude = points[i][2]; //coordinates for array
      var crd = pos.coords;
      var curLatitude = crd.latitude;
      var curLongitude = crd.longitude;
      var navigateUrl = String($navigateLink.attr('href'));
      var saddr = 'saddr=' + curLatitude + ',' + curLongitude;
      var daddr = '&daddr=' + posLatitude + ',' + posLongitude;
      var distance = saddr + daddr;

      geolocationAccepted = true;

      navigateUrl = navigateUrl.replace('saddr', distance); 

      $navigateLink.attr('href', navigateUrl); //adding coordinates to href 
    }
  };

  var error = function(err) {
    geolocationAccepted = false;

    if(err.code === 1){

    }
  };

  navigator.geolocation.getCurrentPosition(success, error, {
    enableHighAccuracy:false
  });
}
storeLocator.moveToStore=函数(){
var$pos=$storeInfoItems;//块的包装器
var$navigateLink=$pos.find('.location');//应该替换的链接
var geolocationAccepted=false;
var成功=功能(pos){

对于(var i=0;iYou有1个链接,但有5组点…是否希望有5个链接,每个链接都有一组坐标?是的,链接的数量可以是不计其数的,这取决于标记和相应的信息窗口,从1到永恒,每个信息窗口由3个带有链接class=“location”的选项卡组成在它的每一个内部,所以这个链接看起来应该像你在
moveToStore
函数的顶部做
console.log($navigateLink);
时得到的一样?如果我在变量$navigateLink=$pos.find('.location')之后调用它,它会给我所有弹出窗口中所有链接的列表,如果我在它显示“undefind”之前调用它的话无论如何,每个弹出窗口都有一个唯一的id,对应于数组中的最后一项:[“random street name”,48.8690284,2.3215802,“store-1”
storeLocator.moveToStore = function (){
var $pos = $storeInfoItems; // wrapper for block
var $navigateLink = $pos.find('.location'); //link that should be replaced
var geolocationAccepted = false;

  var success = function(pos) {
    for (var i=0; i<points.length; i++) {

      var posLatitude = points[i][1]; //coordinates for array
      var posLongitude = points[i][2]; //coordinates for array
      var crd = pos.coords;
      var curLatitude = crd.latitude;
      var curLongitude = crd.longitude;
      var navigateUrl = String($navigateLink.attr('href'));
      var saddr = 'saddr=' + curLatitude + ',' + curLongitude;
      var daddr = '&daddr=' + posLatitude + ',' + posLongitude;
      var distance = saddr + daddr;

      geolocationAccepted = true;

      navigateUrl = navigateUrl.replace('saddr', distance); 

      $navigateLink.attr('href', navigateUrl); //adding coordinates to href 
    }
  };

  var error = function(err) {
    geolocationAccepted = false;

    if(err.code === 1){

    }
  };

  navigator.geolocation.getCurrentPosition(success, error, {
    enableHighAccuracy:false
  });
}