【发布时间】:2015-11-10 08:47:30
【问题描述】:
尝试通过使用 php 检索标记,然后使用 json_encode() 从 mysql 添加标记,然后在 javascript 中使用结果。目前我的地图正在为我显示,但标记不是!
MarkersController.php - 从数据库中获取信息。
$list = array();
while ($row = mysqli_fetch_assoc($result)) {
$list[] = array(
array('lat' => $lat),
array('lng' => $lng));
}
echo json_encode($list);
登陆.html
<script type="text/javascript" src="js/jquery-1.11.2.js"></script>
<script type = "text/javascript"
src = "https://maps.googleapis.com/maps/api/js?
key=AIzaSyB76xBqfQdgOLV77VK3JZ09vWwk8brkMFs">
</script>
<script type="text/javascript">
var map = null;
function addMarker(lat, lng) {
var myLatLng = new google.maps.LatLng(lat, lng);
marker = new google.maps.Marker({
position: myLatLng,
map: map
});
}
function initialize() {
var mapOptions = {
center: {lat: 54.872128, lng: - 6.284874},
zoom: 13
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
$.getJSON('MarkersController.php', function(data){
$.each(data, function(lat, lng){
addMarker('lat', 'lng');
});
})
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
尝试使用 MarkersController.php 中的数组来实现 addMarker() 函数。
【问题讨论】:
-
他们如何“不工作”?您的控制台中是否出现任何错误?
-
如果你显示你从 $.getJSON 收到的输出到你的 MarkersController.php 它将帮助我们知道问题出在哪里
-
@RowlandShaw 我的控制台没有错误,地图上也没有显示标记!
标签: javascript php mysql json google-maps-markers