使用PHP和Javascript的GoogleMapAPI
我是HTML5领域的新手,我正在尝试制作一个程序,用PHP从mysql获取数据,并使用地理代码将地址转换为Latlng。这是一个LBS程序,我尝试了2周,我的问题是我不能把标记放进谷歌地图,我做了定位更正,地图被加载,但标记不能在地图上着陆,请帮助!!谢谢你,我真的很感谢你的帮助。如果这个代码有任何错误或问题,请给我慷慨的建议,我在这个领域非常新,我正在努力学习更多的HTML5JavaScript,谢谢你,我非常感谢你的建议 我的代码在这里:使用PHP和Javascript的GoogleMapAPI,javascript,html,google-maps-api-3,Javascript,Html,Google Maps Api 3,我是HTML5领域的新手,我正在尝试制作一个程序,用PHP从mysql获取数据,并使用地理代码将地址转换为Latlng。这是一个LBS程序,我尝试了2周,我的问题是我不能把标记放进谷歌地图,我做了定位更正,地图被加载,但标记不能在地图上着陆,请帮助!!谢谢你,我真的很感谢你的帮助。如果这个代码有任何错误或问题,请给我慷慨的建议,我在这个领域非常新,我正在努力学习更多的HTML5JavaScript,谢谢你,我非常感谢你的建议 我的代码在这里: 'enter code h
'enter code here`<?php
require_once 'Common/system_start.php';
$sql="select addr from tab_mem order by sn desc ";
$result= mysql_query($sql);
$data=mysql_fetch_assoc($result);
$row=mysql_num_rows($result);
$n = array();
for($i=0;$i<$rows;$i++)
{
$data=mysql_fetch_row($result);
$n[] = $data[0];
}
echo '<script type="text/javascript">';
echo var n = new Array("', join($n,'","'), '");';
echo '</script>';
?>
<code>
<pre>
<!DOCTYPE html>
<html><head><meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0,user-scalable=no"/>
<!-- Google Maps -->
<script type="text/javascript" src="http://maps.google.com/maps/api/js? `enter code here`sensor=true"></script>
<script type="text/javascript" charset="utf-8" src="cordova-1.6.0.js">
</script>
<!-- program main -->
<script type="text/javascript">
var iterator=0;
markers=n;
var a=n.length;
function load() {
var map_div = document.getElementById("map_div");
//initial locator
navigator.geolocation.watchPosition(onSuccess, onError, { frequency: 3000 `enter code here`});
// decide location
function onSuccess(position){
//fetching latlng from GPS
var latlng = new google.maps.LatLng(position.coords.latitude,
`position.coords.longitude);
// display map
var gmap = new google.maps.Map(
map_div, {
zoom:16,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
//drop the marker
function drop() {
for (var i = 0; i < a; i++) {
setTimeout(function() {
}, i * 200);
}
}
//decode address to latlng
//pass address data from PHP
for(var i in n){
var address=n;
geocoder=new google.maps.Geocoder();
geocoder.geocode({'address':address},function(results,status){
if(status==google.maps.GeocoderStatus.OK){
//alert("AAA");
address=results(i).geometry.location;
function addMarker() { markers.push(new google.maps.Marker({
postion:results(i).geometry.location,
map:gmap,
animation:google.map.animation.DROP
//iterater++;
}));
//itertor++;
}
//markerNearBy.setMap(map);
}else{
alert("Geocode was not sucessful for the following reason:"+status);
}
});
}
}
}
function onError(error) {
alert('code: '+ error.code+ '\n'
+'message: ' + error.message + '\n');
}
</script>
</head>
<body onLoad="load()">
<!-- Map Display place -->
<div id="map_div" style="width:320px; height:480px;"></div>
</body>
</html>
<code>
您的代码看起来格式不正确。在“for”循环中定义了“addMarker”函数。而且,它在任何地方都不会被呼叫 看看Google提供的用于处理标记和覆盖的示例代码,并尝试对其进行模拟。该示例仅使用一个标记,但您可以简单地遍历结果。通过将标记对象添加到数组中,并将贴图对象设置为标记的“贴图”属性,您的意图是正确的,但您需要先格式化/重新构造代码,否则代码将无法工作 示例代码:
Danimal,谢谢你的建议,对我帮助很大,我会考虑如何重组它,至少我的意图是正确的。非常感谢。如何通过PHP将mySQL数据传递到Javascript???我尝试了很多方法,但仍然没有希望。@ShuyouChang:这是一个新问题。然而,在你提问之前,先花点时间阅读一下谷歌的例子。一个处理从数据库中获取标记并放到地图上的程序是