百度地图基本使用

1. 基本方法

// 创建地图
var map = new BMap.Map("id");
// 定义坐标点
var point = new BMap.Point(lng, lat);
// 设置地图中心点和缩放层级
map.centerAndZoom(point,zoom);
// 定义标记点
var mk = new BMap.Marker(point);
// 标注标记点
map.addOverlay(mk);
// 移动到坐标点
map.panTo(point);
// 获取当前中心点
map.getCenter();

2. 地址解析、反解析

BMap.Geocoder: 地址解析器,具体查看官方API

map.centerAndZoom("深圳市", 14);
var myGeo = new BMap.Geocoder();
myGeo.getLocation(point, function(rs) { // 坐标转地址
    var address = rs.address;
});
myGeo.getPoint(address, function(data){ // 地址转坐标
    var point= new BMap.Point(data.lng, data.lat);
});

地址解析:

var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r) {
    if (this.getStatus() == BMAP_STATUS_SUCCESS) {
        var myGeo = new BMap.Geocoder();
        myGeo.getLocation(new BMap.Point(r.point.lng, r.point.lat), function(rs) {
            console.log(JSON.stringify(rs, null, 4));
        }, { enableHighAccuracy : true });
    }
})
/*打印信息*/
{
    "point": {
        "lng": 114.025974,
        "lat": 22.546054
    },
    "address": "广东省深圳市福田区农轩路55号",
    "addressComponents": {
        "streetNumber": "55号",
        "street": "农轩路",
        "district": "福田区",
        "city": "深圳市",
        "province": "广东省"
    },
    "surroundingPois": [
        {
            "title": "彩虹阁",
            "uid": "119092a37cbfa4991ef74db9",
            "point": {
                "lng": 114.026122,
                "lat": 22.546017
            },
            "city": "深圳市",
            "Si": "房地产",
            "type": 0,
            "address": "深圳市福田区天御香山花园1栋",
            "postcode": null,
            "phoneNumber": null,
            "ju": [
                "房地产"
            ]
        },
        /* ... */
    ]
    "business": "香蜜湖,车公庙,竹子林"
}

获取当前定位的坐标点、省市等详细地址:

var geolocation = new BMap.Geolocation();
var gc = new BMap.Geocoder();
geolocation.getCurrentPosition( function(r) {
    if(this.getStatus() == BMAP_STATUS_SUCCESS){  // 是否成功定位
        var pt = r.point;
        gc.getLocation(pt, function(rs){
            var addComp = rs.addressComponents;
            alert(addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber);
            // 广东省深圳市福田区农轩路55号
        });
    }
});

你可能感兴趣的:(前端)