我的代碼顯示了shops.xml文件的所有地址。但我想顯示在谷歌地圖只是地址(shops.php)與輸入的地址從xml文件中選擇元素
shops.xml文件匹配:
<shops>
<shop>
<name>Galaxy</name>
<address>72 Callander Road, Noble Park</address>
</shop>
<shop>
<name>Home</name>
<address>7 Close Avenue, Dandenong </address>
</shop>
</shops>
shop.htm:
<body>
<form>
Ente Address: <input type="text" name="address" size="40" />
<input name="submit" type = "button" onClick = "load()" value = "Search" />
</form>
<div id="map" style="width: 500px; height: 400px"></div>
<div id="info"> </div>
shop.js
function load()
{
var map = new GMap2(document.getElementById("map"));
map.setCenter(new GLatLng(-37.816667,144.966667), 10);
map.addControl(new GSmallMapControl());
map.addControl(new GMapTypeControl());
var geocoder = new GClientGeocoder();
GDownloadUrl("shops.xml", function(data) {
var addr =document.getElementsByName['address'];
var xml = GXml.parse(data);
var shop = xml.documentElement.getElementsByTagName("shop");
for (var i = 0; i < shop.length; i++) {
var addre= shop[i].getElementsByTagName("address");
addre = addre[0].childNodes[0].nodeValue;
if(addre==addr)
var address=addre;
geocoder.getLocations(address, addToMap);}
});
}
function addToMap(response)
{
place = response.Placemark[0];
point = new GLatLng(place.Point.coordinates[1], place.Point.coordinates[0]);
function createMarker(point,address)
{
var marker = new GMarker(point);
GEvent.addListener(marker, "click", function()
{
map.openInfoWindowHtml(point, address);
});
return marker;
}
map.addOverlay(createMarker(point, response.name));
}
問題是? – Headshota 2011-05-18 04:54:45
@Headshota的問題是,我不能顯示google地圖上與輸入地址相匹配的shops.xml地址。我的代碼顯示所有地址 – carina 2011-05-18 04:56:27