GOOGLE MAPS API V3 是我正在尝试使用的。
我在mysql中有所有坐标。例如,我只需要获取 5 个列表并将它们放在地图上,但我希望能够根据我想显示的多个坐标以及缩放级别找到中心点。是的知道吗?
我正在用我知道非常简单的东西来度过我的一生,我就是想不通这个 API。我将支付 20 美元给任何可以帮助我的人。
//select * from mysql limit 5
//ok great we got 5 results, great job, format the 5 results so google maps like it, [name,lat,lng] whatever.
//put them on the map and let them be clickable so i can put stuff in the infowindow thing
//make the map adjust to the proper zoom level and center point
更新
这就是我一直在寻找的,希望这对其他人有帮助。
归功于 [Chris B] 获得中心坐标的常识数学公式,sw 线是最低的 lat 和 lon,ne 坐标是最大的 lat 和 lon
sort($lat)&&sort($lon);
$r['c'] = array_sum($lat)/count($lat).', '.array_sum($lon)/count($lon);
$r['ne'] = $lat[count($lat)-1].', '.$lon[count($lon)-1];
$r['sw'] = $lat[0].', '.$lon[0];
var myOptions = {zoom:4,center: new google.maps.LatLng(<?php echo $r['c']; ?>),mapTypeId:google.maps.MapTypeId.ROADMAP}
var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
<?php foreach($x as $l) echo 'new google.maps.Marker({position:new google.maps.LatLng('.$l['lat'].','.$l['lon'].'),map:map,clickable:true});'; ?>
map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(<?php echo $r['sw']; ?>),new google.maps.LatLng(<?php echo $r['ne']; ?>)));