プロが教えるわが家の防犯対策術!

下記を実行すると、fireburgのデバッグで2つのエラーが出ます。
解消方法お分かりになる方いらっしゃいますでしょうか。

■エラー内容
   SyntaxError: missing } after function body 
      function doNothing() { }
   ------------------↑
■エラー内容
  ReferenceError: searchLocations is not defined     
     <html xmlns="http://www.w3.org/1999/xhtml">


●ソース
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<title>Google Maps AJAX + mySQL/PHP Example</title>
<script src="http://maps.googleapis.com/maps/api/js?sensor=fa …
type="text/javascript"></script>
<script type="text/javascript">
//<![CDATA[
var markers = [];
var locationSelect;
var sidebarList;
function searchLocations() {
var address = document.getElementById("addressInput").value;
var geocoder = new google.maps.Geocoder();
geocoder.geocode({address: address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
searchLocationsNear(results[0].geometry.location);
} else {
alert(address + ' not found');
}
});
}
function searchLocationsNear(center) {

var category = document.getElementById('categorySelect').value;
var radius = document.getElementById('radiusSelect').value;
var searchUrl = 'phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius + '&category=' + category;
downloadUrl(searchUrl, function(data) {
var xml = parseXml(data);
var markerNodes = xml.documentElement.getElementsByTagName("marker");

for (var i = 0; i < markerNodes.length; i++) {
var name = markerNodes[i].getAttribute("name");
var address = markerNodes[i].getAttribute("address");
var hpurl = markerNodes[i].getAttribute("hpurl");
var ifrurl = markerNodes[i].getAttribute("ifrurl");
var distance = parseFloat(markerNodes[i].getAttribute("distance"));
var latlng = new google.maps.LatLng(
parseFloat(markerNodes[i].getAttribute("lat")),
parseFloat(markerNodes[i].getAttribute("lng")));

sidebarList += '<a href="javascript:myclick('+ i +')">'+ name +'</a><br />'; //追加

}

document.getElementById("side_bar").innerHTML = sidebarList; //追加

function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;

request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request.responseText, request.status);
}
};

request.open('GET', url, true);
request.send(null);
}

function parseXml(str) {
if (window.ActiveXObject) {
var doc = new ActiveXObject('Microsoft.XMLDOM');
doc.loadXML(str);
return doc;
} else if (window.DOMParser) {
return (new DOMParser).parseFromString(str, 'text/xml');
}

}

function doNothing() { }

</script>
</head>

<body style="margin:0px; padding:0px;" > //onload="load()" はずした
<div>
<select id="categorySelect">
<option value="" selected>選択なし</option>
<option value="食事" selected>食事</option>
<option value="病院">病院</option>
<option value="小売店">小売店</option>
</select>
<input type="text" id="addressInput" size="40" value="住所を入力して下さい。" />
<select id="radiusSelect">
<option value="0.5" selected>0.5km</option>
<option value="1">1km</option>
<option value="20">20km</option>
</select>


<input type="button" onclick="searchLocations()" value="検索"/>
</div>
<div><select id="locationSelect" style="width:35%;visibility:visible"></select></div>

<div id="side_bar" style="border: : solid 1px #808080; ></div>
</body>
</html>

A 回答 (1件)

エラー内容をそのままGoogleで検索したら答えが出たけど。


http://taitan916.info/blog/?p=1422


もうひとつはかっこが足りない。
インデントしっかりしてみてごらん。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!