Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.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
Php 谷歌地图标记:需要选择';了解方向';_Php_Javascript_Mysql_Google Maps_Map Directions - Fatal编程技术网

Php 谷歌地图标记:需要选择';了解方向';

Php 谷歌地图标记:需要选择';了解方向';,php,javascript,mysql,google-maps,map-directions,Php,Javascript,Mysql,Google Maps,Map Directions,这个问题相当直截了当 我目前已经在我的网站上实现了谷歌地图。到目前为止,我已经能够编辑标记上显示的数据以及该数据的样式 我在最后一点上卡住了。我需要能够给访客点击“获取方向”的选项。我在标记上有一个叫做“方向”的链接。我希望游客能够点击这个“不知何故”,并为他们提供方向。我不确定实现这一目标的方法和方式。我到处都找过了。任何帮助都将不胜感激。我已经包括了一个屏幕截图我的标记 标记/地图截图 另外,在回答时,请把我当作只知道目前为止需要做什么的人。谢谢 编辑* 我对它进行了编辑,这样当他们点击“方

这个问题相当直截了当

我目前已经在我的网站上实现了谷歌地图。到目前为止,我已经能够编辑标记上显示的数据以及该数据的样式

我在最后一点上卡住了。我需要能够给访客点击“获取方向”的选项。我在标记上有一个叫做“方向”的链接。我希望游客能够点击这个“不知何故”,并为他们提供方向。我不确定实现这一目标的方法和方式。我到处都找过了。任何帮助都将不胜感激。我已经包括了一个屏幕截图我的标记

标记/地图截图

另外,在回答时,请把我当作只知道目前为止需要做什么的人。谢谢

编辑*

我对它进行了编辑,这样当他们点击“方向”链接时,它会接受谷歌地图搜索命令,并将我命令它从mysql数据库中搜索到的内容放在其中。他们仍然需要在现在的谷歌搜索结果页面上再次点击方向,才能获得方向。我需要一个更直接的方法来做这件事!=)

下载URL(“genxml.php”,函数(数据){ var xml=data.responseXML; var markers=xml.documentElement.getElementsByTagName(“标记”); 对于(var i=0;i
”+地址+ “
”+城市+“”+州+“”+zip+ “
”+电话+ “
”+ ' ' + ' ' + ' ' + “
”+ ''; var icon=customIcons[type]| |{}; var marker=new google.maps.marker({ 地图:地图, 位置:点,, icon:icon.icon, 阴影:icon.shadow }); bindInfoWindow(标记、地图、infoWindow、html); } }); } 函数bindInfoWindow(标记、地图、infoWindow、html){ google.maps.event.addListener(标记'click',函数(){ setContent(html); 信息窗口。打开(地图、标记); }); } 函数下载url(url,回调){ var请求=window.ActiveXObject? 新的ActiveXObject('Microsoft.XMLHTTP'): 新的XMLHttpRequest; request.onreadystatechange=函数(){ if(request.readyState==4){ request.onreadystatechange=doNothing; 回调(请求、请求、状态); } }; 打开('GET',url,true); 请求发送(空); } 函数doNothing(){}
在info窗口的HTML字符串中,添加一个调用javascript函数的参数:
showDirections(“+address+”、“+city+”、“+state+”、“+”)

此链接应帮助您创建显示方向的函数:

巨魔脸是怎么回事?是这样的吗:(我开发了这个网站)我不确定它的制作方法是否重要。与其说是“如何”,不如说是“如何”。我甚至不知道从哪里开始。我的地图上有一万多个标记。我需要访问者能够点击一个标记,并以某种方式有一个选项,以获得指向标记上地址的方向。我假设你的例子会起作用,如果它能为所选的任何标记提供方向。如果他们点击方向链接时,它会自动在谷歌上搜索地址,这也会起作用。也许可以从必填字段中提取数据并将其输入谷歌搜索?不确定这是否可行。我需要他们点击我地图上的标记,并从这些标记中获取方向。如果你给我一点时间,我可能会得到一些代码来实现这一点。我认为有一种方法,但如果你能给我一个代码示例,那会很有帮助。是的,那太棒了。给我一些,我会把它寄出去。尝试最后一件事。我已经用代码更新了我的帖子。通过我设置的方式,我可以根据请求搜索谷歌地图。这两项都不够。不过更近了。谢谢你的代码示例!明天我可能会编辑我的答案。
  downloadUrl("genxml.php", function(data) {
    var xml = data.responseXML;
    var markers = xml.documentElement.getElementsByTagName("marker");
    for (var i = 0; i < markers.length; i++) {
      var name = markers[i].getAttribute("name");
      var type = markers[i].getAttribute("type");
      var address = markers[i].getAttribute("address");
      var city = markers[i].getAttribute("city");
      var state = markers[i].getAttribute("state");
      var zip = markers[i].getAttribute("zip");
      var phone = markers[i].getAttribute("phone");
      var url = markers[i].getAttribute("url");
      var point = new google.maps.LatLng(
          parseFloat(markers[i].getAttribute("lat")),
          parseFloat(markers[i].getAttribute("lng")));
      var html = 
      '<a href="' + url + '" target="blank">' + name + '</a>' +
      '</a><br/><br/>' + address +
      '<br>' + city + ' ' + state + ' ' + zip +
      '<br/>' + phone + 
      '<hr style="border: none; height: 1px; color: blue; background: grey;"/>' +
      '<a href="https://maps.google.com/maps?q='+ address + ' ' + city + ' ' + state + ' ' + zip + '" target="blank"><u>Directions</u></a> ' + ' <a href="#"><u>Write a Review</u></a> ' + ' <a href="#"><u>more</u></a>' +
      '<hr style="border: none; height: 1px; color: blue; background: grey;"/>' +
      '<?php echo $ads ?>';
      var icon = customIcons[type] || {};
      var marker = new google.maps.Marker({
        map: map,
        position: point,
        icon: icon.icon,
        shadow: icon.shadow
      });
      bindInfoWindow(marker, map, infoWindow, html);
    }
  });
}

function bindInfoWindow(marker, map, infoWindow, html) {
  google.maps.event.addListener(marker, 'click', function() {
    infoWindow.setContent(html);
    infoWindow.open(map, marker);
  });
}

function downloadUrl(url, callback) {
  var request = window.ActiveXObject ?
      new ActiveXObject('Microsoft.XMLHTTP') :
      new XMLHttpRequest;

  request.onreadystatechange = function() {
    if (request.readyState == 4) {
      request.onreadystatechange = doNothing;
      callback(request, request.status);
    }
  };

  request.open('GET', url, true);
  request.send(null);
}

function doNothing() {}