javascript - 在 php 中正确显示地图 infoWindow
问题描述
如何循环遍历关联数组的值?现在我一次只能参加一个协会!在这里,我将 MySQL 表中的所有值传递给 json_encode,仅将 lat & long 作为数组的数组和其他字符串。谢谢
function myMap() {
var infowindow = new google.maps.InfoWindow();
var mapOptions = {
zoom: 5,
center: new google.maps.LatLng(44.849716, 10.052282),
mapTypeId: 'roadmap',
styles: []
};
var i = 0;
var mapElement = document.getElementById('map');
var map = new google.maps.Map(mapElement, mapOptions);
var markers = <?= json_encode($this->getCoordinatesMaps[0]); ?>; //Passing the PHP values to JS
var marker, i;
//Add marker to map
for(var i in markers) {
var marker = markers[i];
var marker = new google.maps.Marker({
position: new google.maps.LatLng(marker.lat, marker.long),
map: map,
title: 'Niente',
clickable: true
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(<?= json_encode($this->getCoordinatesMaps[0]->comune); ?> + ' - ' + <?= json_encode($this->getCoordinatesMaps[0]->mansione_tecnica); ?>);
infowindow.open(map, marker);
}
})(marker, i));
}
}
解决方案
这是我上一个问题的解决方案。也许可以帮助尝试做同样事情的人。然后我还添加了一个 GET 表单来轻松更改您在全球范围内看到工人的日期。:)
function myMap() {
var infowindow = new google.maps.InfoWindow();
var mapOptions = {
zoom: 5,
center: new google.maps.LatLng(44.849716, 10.052282),
mapTypeId: 'roadmap',
styles: []
};
var mapElement = document.getElementById('map');
var map = new google.maps.Map(mapElement, mapOptions);
var markersArray = '<?= json_encode($this->getCoordinatesMaps); ?>';//Passing the PHP values to JS
markers = JSON.parse(markersArray); //Reading array values
// console.log(markers[1].comune);
var marker, i; //Defining this function for infoWindow
for (var i = 0; i < markers.length; i++) {
// console.log(markers[i].latlng.lat + ' is a ' + markers[i].latlng.long + '.');
var marker = markers[i];
var marker = new google.maps.Marker({
position: new google.maps.LatLng(markers[i].latlng.lat, markers[i].latlng.long),
map: map,
title: markers[i].surname + ' ' + markers[i].name,
animation: google.maps.Animation.DROP,
clickable: true
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent("<div><img width='120' height='30' src='/images/logo.png'</div><hr />" + '<strong>Address: </strong> ' + markers[i].address + ' <strong>Event Name: </strong> ' + markers[i].event_name + ' <strong>Worker: </strong> ' + markers[i].name+ ' ' + markers[i].surname + ' <strong>Work: </strong> ' + markers[i].technical_work + ' <strong>Client: </strong>' + markers[i].client_name);
infowindow.setOptions({maxWidth: 300});
infowindow.open(map, marker);
}
})(marker, i));
}
}
推荐阅读
- elasticsearch - 无法在 Windows 上运行 logstsh
- java - 如何根据日期对对象地图进行排序
- c# - 如何将字符串中的整数视为多位数字而不是单个数字?
- c++ - C++ 不正确的平均结果
- python - 如何从 django 中具有外键关系的两个模型中选择值
- c# - 从解决方案资源管理器更新数据库后,Visual Studio 2017 关闭
- swift - 试图了解 AudioKit 中 AKFFTTap 的输出
- php - PHP函数'mysqli_prepare'的输出是什么意思
- javascript - 多对象数组在 At.js 中不起作用
- assembly - 在汇编语言中查找偶数或奇数