检索POI


矩形检索

searchInBounds方法提供矩形区域检索服务。矩形范围搜索将根据您提供的视野范围提供搜索结果。如下示例,展示在矩形区域内搜索港口:

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 mapBounds = new FMap.Map('mapBounds', {
    // 设置中心点坐标
    center: new FMap.LatLng(38.92705, 121.6580833),
    // 设置地图缩放级别
    zoom: 13,
    maxZoom: 17,
    minZoom: 3,
    // 设置地图实例瓦片层
    layers: [layer]
});

var inputValArray = ["港口", "41.001178", "124.264514", "37.702655", "114.081617", "", "", "0"];
if (inputValArray[0] != "") {
    var url = "http://map.botaisoft.com/apis/";
    var localSearcher = new FMap.LocalSearch(new FMap.LocalSearchOptions(url, function (result) {
        for (var i = 0; i < result.getPoiList().length; i++) {
            var template = '<p>' + result.getPoiList()[i].name + result.getPoiList()[i].address + '</p>';
            var marker = FMap.marker([result.getPoiList()[i].point.lat, result.getPoiList()[i].point.lng]).addTo(mapBounds);
            marker.bindPopup(template).openPopup();
        }
    }, token
    ));
    var options = new FMap.LocalSearchSetting(inputValArray[0], 0, 0);
    var northEast = new FMap.LatLng(parseFloat(inputValArray[1]), parseFloat(inputValArray[2]));
    var southWest = new FMap.LatLng(parseFloat(inputValArray[3]), parseFloat(inputValArray[4]));
    var bounds = new FMap.LatLngBounds(southWest, northEast);
    localSearcher.searchInBounds(options, bounds, parseInt(inputValArray[7]));
}

周边(圆)检索

searchNearby方法提供圆形区域检索服务。您可以在某个地点附近进行搜索,也可以在某一个特定结果点周围进行搜索。下面示例展示如何在某点附近搜索电影院:

// 设置地图瓦片层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 mapCircle = new FMap.Map('mapCircle', {
    // 设置中心点坐标
    center: new FMap.LatLng(38.92705, 121.6580833),
    // 设置地图缩放级别
    zoom: 13,
    maxZoom: 17,
    minZoom: 3,
    // 设置地图实例瓦片层
    layers: [layer]
});

var inputValArray = ["电影院", "38.919184", "121.616318", "3000", "7", "0", "0"];
if (inputValArray[0] != "") {
    var url = "http://map.botaisoft.com/apis/";
    var localSearcher = new FMap.LocalSearch(new FMap.LocalSearchOptions(url, function (result) {
        for (var i = 0; i < result.getPoiList().length; i++) {
            var template = '<p>' + result.getPoiList()[i].name + result.getPoiList()[i].address + '</p>';
            var marker = FMap.marker([result.getPoiList()[i].point.lat, result.getPoiList()[i].point.lng]).addTo(mapCircle);
            marker.bindPopup(template).openPopup();
        }
    }, token
    ));
    var options = new FMap.LocalSearchSetting(inputValArray[0]/*关键字*/, parseInt(inputValArray[5])/*每页个数*/, parseInt(inputValArray[4])/*指定页数*/)
    var location = new FMap.LatLng(Number(inputValArray[1])/*纬度*/, Number(inputValArray[2]/*经度*/));
    localSearcher.searchNearby(options, location, parseInt(inputValArray[3])/*半径*/, parseInt(inputValArray[6]/*检索范围*/));
}

results matching ""

    No results matching ""