16,472
社区成员
发帖
与我相关
我的任务
分享
function justmarkfun(JD,WD)
{
var point = new BMap.Point(JD, WD); //把地图中心定位到搜索的点
map.centerAndZoom(point, 12);
var marker1 = new BMap.Marker(new BMap.Point(JD,WD)); // 创建标注
window.map.addOverlay(marker1); // 将标注添加到地图中
var gc = new BMap.Geocoder(); //获取地点信息
var mapAddress;
gc.getLocation(point, function(rs){
var addComp = rs.addressComponents;
mapAddress = addComp.province+addComp.city + addComp.district+ addComp.street +
addComp.streetNumber;
alert(mapAddress);
});
// return mapAddress; //出现未定义报错 无法取出那个值
}
有没有办法取出mapAddress变量值? function getAttr(callback) {
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(118.76878380699998, 32.0847198606), 12);
var gc = new BMap.Geocoder(); //获取地点信息
gc.getLocation(point, function (rs) {
var addComp = rs.addressComponents;
var mapAddress = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;
callback(mapAddress)
});
// return mapAddress;
}
getAttr(function (addr) {alert(addr) })
<body>
<div id="allmap"></div>
<p>点击地图展示详细地址</p>
<input name="but" type="button" value="click" onclick="toShowAddress();" id="button_" />
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("allmap");
var point = new BMap.Point(116.331398,39.897445);
map.centerAndZoom(point,12);
var geoc = new BMap.Geocoder();
var addr;
map.addEventListener("click", function(e){
var pt = e.point;
geoc.getLocation(pt, function(rs){
var addComp = rs.addressComponents;
addr = addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber;
alert(addr);
return addr;
});
});
function toShowAddress(){
alert(addr);
}
</script>