地址编码


地址解析服务提供从地址转换到经纬度的服务,反之,逆地址解析则提供从经纬度坐标转换到地址的转换功能。

地理编码

根据地址描述获得坐标信息。如下示例,我们将地址“延安路9号,大连”转换获取该位置的地理经纬度坐标,并在这个位置上添加一个标注。

// 设置地图瓦片层url
var token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJGQU5HaTIyR0VOeUhsTTJCZ211bEhpRGhtR2pFYmFLYyIsInVzZXIiOiJndWVzdCJ9.CJ9JuWCxrx4U40K%2FHoBcgqP%2Bgn%2BWqXE9io6eCxi6g9g%3D"
var layer = FMap.tileLayer('http://map.botaisoft.com/apis/v1/rastertiles/mix_map/{z}/{x}/{y}.png?token=' + token);
// 创建地图实例
var mapEncode = new FMap.Map('mapEncode', {
    // 设置中心点坐标
    center: new FMap.LatLng(38.92705, 121.6580833),
    // 设置地图缩放级别
    zoom: 13,
    maxZoom: 17,
    minZoom: 3,
    // 设置地图实例瓦片层
    layers: [layer]
});

var inputValArray = ["延安路9号", "大连"];
if (inputValArray[0] != "") {
    var url = "http://map.botaisoft.com/apis/";
    var geocoderSearcher = new FMap.GeocoderSearch(
        new FMap.GeocoderSearchOptions(url, function (result) {
            for (let i = 0; i < result._infolist.length; i++) {
                var template = '<p>' + result._infolist[i].addrname + '</p>';
                var marker = FMap.marker([result._infolist[i].location.lat, result._infolist[i].location.lon]).addTo(mapEncode);
                marker.bindPopup(template).openPopup();
            }
        }, token
        ));
    geocoderSearcher.geoEncode(inputValArray[0], inputValArray[1]);
}

逆地理编码

根据坐标点获得该地点的地址描述,是地址解析的逆向转换。

// 设置地图瓦片层url
var token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJGQU5HaTIyR0VOeUhsTTJCZ211bEhpRGhtR2pFYmFLYyIsInVzZXIiOiJndWVzdCJ9.CJ9JuWCxrx4U40K%2FHoBcgqP%2Bgn%2BWqXE9io6eCxi6g9g%3D"
var layer = FMap.tileLayer('http://map.botaisoft.com/apis/v1/rastertiles/mix_map/{z}/{x}/{y}.png?token=' + token);
// 创建地图实例
var mapDecode = new FMap.Map('mapDecode', {
    // 设置中心点坐标
    center: new FMap.LatLng(38.92705, 121.6580833),
    // 设置地图缩放级别
    zoom: 13,
    maxZoom: 17,
    minZoom: 3,
    // 设置地图实例瓦片层
    layers: [layer]
});

var inputValArray = [38.919184,121.616318];
if (inputValArray[0] != "") {
    var url = "http://map.botaisoft.com/apis/";
    var geocoderSearcher = new FMap.GeocoderSearch(
        new FMap.GeocoderSearchOptions(url, function (result) {
            console.log(result)
            for (let i = 0; i < result._infolist.length; i++) {
                var template = '<p>' + result._infolist[i].address + result._infolist[i].telephone + result._infolist[i].districtCode + result._infolist[i].poiName + '</p>';
                var marker = FMap.marker([result._infolist[i].location.lat, result._infolist[i].location.lon]).addTo(mapDecode);
                marker.bindPopup(template).openPopup();
            }
        }, token
        ));
    var location = new FMap.LatLng(parseFloat(inputValArray[0]), parseFloat(inputValArray[1]));
    geocoderSearcher.geoDecode(location);
}

results matching ""

    No results matching ""