Как я могу показать больше деталей одного маркера?

Что я имею:
Маркеры были созданы при отправке формы, форма содержит ввод почтового индекса. Приведенный ниже 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>";
}
//.........
?>

Приведенный выше код — это все, что есть в infoWindow. Нажмите эту кнопку в массиве продуктов, чтобы перейти к 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-код на второй странице, но просто вытащил все записи,
нет никакой связи между тем маркером, который только что нажали, и записью page2. Как мне этого добиться? вторая страница не содержит никакой карты, только чисто текстовые данные.

0

Решение

В своем коде вы можете передать уникальный ключ или идентификатор той записи, которую вы хотите показать на page2.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 чтобы получить все детали.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]