【问题标题】:How can I show more details of one marker?如何显示一个标记的更多详细信息?
【发布时间】:2016-06-26 20:18:10
【问题描述】:

我有什么: 标记是由表单提交创建的,表单包含邮政编码输入。下面的 javascript 将采用这个邮政编码并在谷歌地图上显示为标记。 (这是一个不同的页面)

page1.php(代码如下)我有一个php 数组,这个数组包含所有infoWindow 数据,而javascript 用于创建地图、标记和inforwindows。

<?php 
  ..............
  $info= array();
  foreach($details as $d) {
    $info[] = "<div id='infoData'>".$d['name'].$d['quantity']."<button id='details' onclick='window.location.href= \\\"page2.php\\\"'>Detail</button>"."<div>";
  }
  //.........
?>   

上面的代码就是 infoWindow 上的所有内容。单击 products 数组中的该按钮将转到 page2.php

<script>          
  //...................
  function init() {
    var mapDiv = document.getElementById("map");
    var mapOptions = {
      center: new google.maps.LatLng(51.528308,-0.3817765),
      zoom: 12,
      mapTypeId: 'roadmap'
    };
    var map = new google.maps.Map(mapDiv, mapOptions);

    ///////////////add markers//////////
    var addressArray = ("abc", "def","xxx"), infoArray = (<?php echo $i; ?>);

    var geocoder = new google.maps.Geocoder();
    for (var i = 0, j=addressArray.length; i < j; i++) {
      var info = infoArray[i];
      geocoder.geocode({'address': addressArray[i]}, createCallback(info, map));
    } //callback function
  }

  function createCallback(info, map) {
    var callback = function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        var marker = new google.maps.Marker({
            map: map,
            position: results[0].geometry.location,
            title: 'Click for more details'
        });
        //..................
   </script>

我想要达到的目标: page2.php 我想在我刚刚点击的infowindow 中显示更多关于page1.php 按钮的详细信息。我该怎么做?有什么提示吗??

我在第二页写了 php 代码,但我只是把所有记录都拿出来了, 刚刚单击的标记与 page2 记录之间没有关联。我怎样才能做到这一点?第二页不包含任何地图,只是纯文本数据。

【问题讨论】:

    标签: php dictionary associations infowindow


    【解决方案1】:

    在您的代码中,您可以传递要在 page2.php 上显示的记录的唯一键或 ID,并使用 $_GET 方法获取该 ID 并用于显示该标记的详细信息。

    在page1.php

    <?php 
      ..............
      $info= array();
      foreach($details as $d) {
        $info[] = "<div id='infoData'>".$d['name'].$d['quantity']."<button id='details' onclick='window.location.href= \\\"page2.php?marker=".$d['id']."\\\"'>Detail</button>"."<div>";
      }
      //.........
    ?>  
    

    在 page2.php 上

    $infomarker = $_GET['marker'];
    

    使用$infomarker 获取所有详细信息。

    【讨论】:

    • 谢谢@Manjeet Barnala,你是救生员。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多