【发布时间】:2009-07-16 00:28:22
【问题描述】:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example: Simple Streetview Example</title>
<script src="http://maps.google.com/maps?file=api&v=2.x&key=<?=APIKEY?>"
type="text/javascript"></script>
<script type="text/javascript">
var myPano;
var newPoint;
function initialize() {
var fenwayPark = new GLatLng(42.345573,-71.098326);
var address = "1600 Amphitheatre Parkway, Mountain View, CA, USA";
var geocoder = new GClientGeocoder();
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
newPoint = point;
alert("inside of function: " + newPoint);
}
});
alert("outside of function: " + newPoint);
panoramaOptions = { latlng:fenwayPark };
myPano = new GStreetviewPanorama(document.getElementById("pano"), panoramaOptions);
GEvent.addListener(myPano, "error", handleNoFlash);
}
function handleNoFlash(errorCode) {
if (errorCode == FLASH_UNAVAILABLE) {
alert("Error: Flash doesn't appear to be supported by your browser");
return;
}
}
</script>
当我运行这段代码时,alert("outside of function: " + newPoint);没有得到任何值,但是在函数 alert("inside of function: " + newPoint);它得到了。
完整代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API Example: Simple Streetview Example</title>
<script src="http://maps.google.com/maps?file=api&v=2.x&key=ABQIAAAAgVzm2syhpm0A5rAKFMg3FBS-DTtkk0JB-Y_gKL-3MRZwBHch9RSjWJj17-fEEecjCvYeo1i7w_1yPw"
type="text/javascript"></script>
<script type="text/javascript">
var myPano;
function initialize() {
var geocoder = new GClientGeocoder();
var address = "1600 Amphitheatre Parkway, Mountain View, CA, USA";
geocoder.getLatLng(
address,
function(point) {
if (!point) {
alert(address + " not found");
} else {
panoramaOptions = { latlng:point };
myPano = new GStreetviewPanorama(document.getElementById("pano"), panoramaOptions);
GEvent.addListener(myPano, "error", handleNoFlash);
}
});
}
function handleNoFlash(errorCode) {
if (errorCode == FLASH_UNAVAILABLE) {
alert("Error: Flash doesn't appear to be supported by your browser");
return;
}
}
</script>
我想在打开页面时显示地址:1600 Amphitheatre Parkway, Mountain View, CA, USA 的街景
【问题讨论】: