2016-03-11 6 views
0

Что у меня есть: Маркеры были созданы путем отправки формы, форма содержит вход для почтового индекса. Ниже javascript возьмет этот почтовый индекс и отобразит его как маркеры на карте google. (Это другая страница)Как я могу показать более подробную информацию о одном маркере?

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>"; 
    } 
    //......... 
?> 

Приведенный выше код - это все, что находится на информационном портале. Нажмите на эту кнопку в массиве продукции будет идти на 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 Я хочу, чтобы показать больше деталей этой page1.php кнопки в infowindow я просто нажал. Как мне это сделать? Любой намек ???

Я написал код php на странице два, но я просто получаю все записи, нет связей между этим маркером и кликом на странице2. Как я могу это достичь? страница 2 не содержит никакой карты, просто чисто текстовых данных.

ответ

1

В вашем коде вы можете передать уникальный ключ или идентификатор этой записи, которую вы хотите показать на странице2.php, и получить этот идентификатор с использованием метода $_GET и использовать его, чтобы отобразить сведения об этом маркере.

на 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, чтобы получить все детали.

+0

Спасибо @Manjeet Barnala, вы спасатель. – user999

+0

Спасибо тоже @ user999;) –

 Смежные вопросы

  • Нет связанных вопросов^_^