行政区检索
区域内(行政区划内)检索
searchInCity方法提供根据检索地域名,关键字检索特定POI信息服务。 如下示例,为根据关键字“大连 万达 0 0 0”检索POI:
// 设置地图瓦片层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 mapArea = new FMap.Map('mapArea', {
// 设置中心点坐标
center: new FMap.LatLng(38.92705, 121.6580833),
// 设置地图缩放级别
zoom: 13,
maxZoom: 17,
minZoom: 3,
// 设置地图实例瓦片层
layers: [layer]
});
var inputValArray = ["大连", "万达", 0, 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(mapArea);
marker.bindPopup(template).openPopup();
}
}, token
));
/***keyword-string,pageIndex-number,pageSize-number**/
var options = new FMap.LocalSearchSetting(inputValArray[1], parseInt(inputValArray[2]), parseInt(inputValArray[3]));
/***options,region,type***/
localSearcher.searchInCity(options, inputValArray[0], parseInt(inputValArray[4]));
}
由坐标检索行政区划信息
searchInfoByLocation方法提供根据检索经纬度特定行政区划信息。 如下示例:
// 设置地图瓦片层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 mapLocation = new FMap.Map('mapLocation', {
// 设置中心点坐标
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 districtSearcher = new FMap.DistrictSearch(
new FMap.DistrictSearchOptions(url, function (result) {
var l = result._infolist.length;
var template = result.getInfoList()[l - 1].districtname + result.getInfoList()[l - 1].districtcode + result.getInfoList()[l - 1].districtclass;
alert(template)
console.log(result)
}, token
));
var location = new FMap.LatLng(parseFloat(inputValArray[0]), parseFloat(inputValArray[1]));
districtSearcher.searchInfoByLocation(location);
}
由区划编码检索地理范围
searchBoundaryByRegion方法提供根据检索区划编码特定地理范围。 如下示例:
// 设置地图瓦片层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 mapRegion = new FMap.Map('mapRegion', {
// 设置中心点坐标
center: new FMap.LatLng(38.92705, 121.6580833),
// 设置地图缩放级别
zoom: 13,
maxZoom: 17,
minZoom: 3,
// 设置地图实例瓦片层
layers: [layer]
});
var inputValArray = [210200];
if (inputValArray[0] != "") {
var url = "http://map.botaisoft.com/apis/";
var districtSearcher = new FMap.DistrictSearch(
new FMap.DistrictSearchOptions(url, function (result) {
var _geoJson = result.geoJson.geometry.coordinates, levelsDeep;
if (_geoJson[0][0][0][0] instanceof Array) {
levelsDeep = 3;
} else if (_geoJson[0][0][0] instanceof Array) {
levelsDeep = 2;
} else if (_geoJson[0][0] instanceof Array) {
levelsDeep = 1;
}
var latlngs = FMap.GeoJSON.coordsToLatLngs(_geoJson, levelsDeep);
var polyline = FMap.polyline(latlngs, {
color: "#1969e1",
dashArray: '5, 5',
weight: '2'
}).addTo(mapRegion);
mapRegion.fitBounds(polyline.getBounds());
}, token
));
districtSearcher.searchBoundaryByRegion(parseInt(inputValArray[0]));
}
由区划名称检索区划编码
searchInfoByName方法提供根据检索区划名称特定区划编码。 如下示例:
// 设置地图瓦片层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 mapName = new FMap.Map('mapName', {
// 设置中心点坐标
center: new FMap.LatLng(38.92705, 121.6580833),
// 设置地图缩放级别
zoom: 13,
maxZoom: 17,
minZoom: 3,
// 设置地图实例瓦片层
layers: [layer]
});
var inputValArray = ["中山区"];
if (inputValArray[0] != "") {
var url = "http://map.botaisoft.com/apis/";
var districtSearcher = new FMap.DistrictSearch(
new FMap.DistrictSearchOptions(url, function (result) {
console.log(result)
var l = result.getInfoList()[0].length;
var template = result.getInfoList()[0][l - 1].districtname + result.getInfoList()[0][l - 1].districtcode + result.getInfoList()[0][l - 1].districtclass;
alert(template);
}, token
));
districtSearcher.searchInfoByName(inputValArray[0]);
}
由区划名称检索区划中心坐标
searchCenterByRegion方法提供根据检索区划名称特定区划中心坐标。 如下示例:
// 设置地图瓦片层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 mapCenter = new FMap.Map('mapCenter', {
// 设置中心点坐标
center: new FMap.LatLng(38.92705, 121.6580833),
// 设置地图缩放级别
zoom: 13,
maxZoom: 17,
minZoom: 3,
// 设置地图实例瓦片层
layers: [layer]
});
var inputValArray = ["大连市"];
if (inputValArray[0] != "") {
var url = "http://map.botaisoft.com/apis/";
var districtSearcher = new FMap.DistrictSearch(
new FMap.DistrictSearchOptions(url, function (result) {
var location = [result.getInfoList()[0][1], result.getInfoList()[0][0]];
var marker = new FMap.Marker(location).addTo(mapCenter)
mapCenter.setView(location)
}, token
));
districtSearcher.searchCenterByRegion(inputValArray[0]);
}