Что у меня: маркеры были созданы путем отправки формы, форма содержит вход для почтового индекса. Ниже javascript возьмет этот почтовый индекс и отобразит его как маркеры на карте google. (это другая страница)
page1.php (код ниже) У меня есть php-массив, этот массив содержит все данные infoWindow, а javascript – для создания карты, маркеров и инфо-окон.
<?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>"; } //......... ?>
Вышеприведенный код – это все на инфоиндустрии. Нажмите эту кнопку в массиве продуктов, чтобы перейти на страницу2.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
в infowindow
я только что нажал. Как мне это сделать? Любой намек ???
Я написал код php на второй странице, но я просто извлекаю все записи, между этим маркером и записью page2 нет связей. Как я могу это достичь? страница 2 не содержит никакой карты, просто чисто текстовых данных.
В вашем коде вы можете передать уникальный ключ или идентификатор этой записи, которую вы хотите показать на странице2.php, и получить этот идентификатор с использованием метода $_GET
и использовать для отображения сведений об этом маркере.
на странице 1.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>"; } //......... ?>
на странице 2.php
$infomarker = $_GET['marker'];
Используйте $infomarker
чтобы получить все детали.