4
我正在開發一個帶有Google Maps API v3的網頁。我目前有一個功能地圖和搜索欄。我需要能夠顯示地圖上其中一個KML文件上的搜索地址到最近地標的距離。我怎樣才能做到這一點?搜索到的地址與Google地圖上最近的地標的距離api v3
下面是頁面的代碼:
<script type="text/javascript">
var geocoder;
var map;
var marker;
var layers = [];
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng (41, -73.4);
var myOptions = {
zoom: 7,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
marker = new google.maps.Marker({map:map});
layers[0] = new google.maps.KmlLayer('http://dl.dropbox.com/u/80233620/South-and-North-County-Trailway.kml',
{preserveViewport: true});
layers[1] = new google.maps.KmlLayer('http://www.nyc.gov/html/dot/downloads/misc/cityracks.kml',
{preserveViewport: true});
layers[2] = new google.maps.KmlLayer('http://dl.dropbox.com/u/80233620/NWS%20Radar%20Images.kmz',
{preserveViewport: true});
for (var i = 0; i < layers.length; i++) {
layers[i].setMap(map);
}
}
function codeAddress() {
var address = document.getElementById ("address").value;
geocoder.geocode ({ 'address': address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results [0].geometry.location);
marker.setPosition(results [0].geometry.location);
map.setZoom(14);
}
else {
alert("Geocode was not successful for the following reason: " + status);
}
});
}
function toggleLayer(i) {
if(layers[i].getMap() === null) {
layers[i].setMap(map);
}
else {
layers[i].setMap(null);}
}
</script>
通過手動處理XML並添加標記,你的意思是什麼? – Gavin
你必須用php打開xml文件並提取出點並添加標記。 Google地圖不允許您通過kml圖層訪問該數據。 – Galen
我對PHP不熟悉,如何用它打開文件? – Gavin