作者hgft (yo~battle)
看板Ajax
标题Re: [问题] google map经纬度的问题
时间Tue Nov 15 08:31:51 2011
先感谢上次的大大指导我!!
不过这次又遇到一点问题
也查了一些资料
觉得这样写应该是没错的
<body>
<span id=lat></span><br />
<span id=lng></span><br />
<script type="text/javascript">
<?php
$ans=$_GET['which'];
?>
var lngia;
var latia;
map_init("<?php echo $ans;?>"); //$ans为某个地址
function map_init(a) {
if( !GBrowserIsCompatible() )
return;
var geocoder = new GClientGeocoder();
var address = a;
geocoder.getLatLng(
address,
function(point) {
if (point) {
var lngi = point.x;
var lati = point.y;
$("#lng").html(lngi);
$("#lat").html(lati);
}
}
);
}
lngia = $("#lng").html(); //问题在此!!
latia = $("#lat").html();
alert(lngia);
</script>
</body>
网页确实是有显示我所要的资料
但最後的lngia仍然拿不出来...
想请问这样的写法难道有问题吗...?
感激不尽!!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.39.17.211
1F:推 musie:你有设global var 就直接lngia = point.x就好了 11/15 09:59
2F:推 LPH66:你没有搞懂 callback function 执行的时机 11/15 10:13
3F:→ LPH66:内层的这个 function 也许会在之後才会执行 11/15 10:13
4F:→ LPH66:因此 map_init 可能会先结束 然後就执行了下面两行 11/15 10:13
5F:→ hgft:有试过但是无法... 猜是google那边锁了什麽... 11/15 10:13
6F:→ LPH66:正确的方法就如一楼说的把这两个变数的设定改在 callback 里 11/15 10:14
7F:→ nehex:好像关键字是 Asynchronously 的部份吧 @@" 11/16 00:04