当前位置:网站首页>Baidu map - surrounding search
Baidu map - surrounding search
2022-07-03 02:31:00 【Python's path to immortality】
brief introduction
Today we'll learn a more interesting Map apiLocalSearch. Through it, we can search the surrounding addresses on the map , You can also search the address within the specified range .
LocalSearch
- Belong to
Map apiThe service class , Mainly used for location retrieval 、 Perimeter search and scope search . - The parameter type can be a map instance 、 A string of coordinate points or city names .
- When the parameter is a map instance , The retrieval position is determined by the current map center point , And the labels of the search results will be automatically loaded on the map , It also supports adjusting the view level of the map ; When the parameter is coordinate , The retrieval location is determined by the location of the point ; When the parameter is city name , The search will be conducted in the city .
- Detailed documentation
Keyword search
search()Initiate a search based on the search term , When you pass in an array, you can perform multi keyword retrieval .
var local = new BMapGL.LocalSearch(map, {
renderOptions: {
map: map }
})
local.search(' The hospital ')
- You're right
Map apiPowerful function, just a few lines of code to complete the retrieval .
Get retrieval data
- In addition to displaying labels on the map , We also need to get the retrieved data for other operations .
LocalSearch()Second argument to constructorLocalSearchOptions, It is used to obtain the retrieved data .
renderOptionsAutomatic generationDOMThe text list block shows .onSearchCompleteCallback function after retrieval . Get the retrieved data here .
...
// Secret renderOptions Elements used
<div id="r-result"></div>
...
var myKeys = [' The hotel ', ' The hospital ']
var local = new BMapGL.LocalSearch(map, {
renderOptions: {
map: map, panel: 'r-result' },
onSearchComplete: function (res) {
console.log(' ~ file: Map perimeter retrieval .html ~ line 33 ~ res', res)
}
})
local.search(myKeys)

Search by region
- When the search scope is too large, there may be no results or slow response , At this time, the control range is needed .
searchInBounds()Initiate a scope search based on the scope and search term , Passing in an array can perform multi keyword retrieval .BMapGL.Bounds()Create a rectangular area of geographic coordinates .
var local = new BMapGL.LocalSearch(map, {
renderOptions: {
map: map }
})
var pStart = new BMapGL.Point(121.480509, 31.23592)
var pEnd = new BMapGL.Point(126.480509, 36.23592)
// Set your own scope
var bs = new BMapGL.Bounds(pStart, pEnd)
local.searchInBounds(' The hospital ', bs)

- In addition to the inner rectangle, of course, there are also circular search methods .
searchNearby()According to the center point 、 Radius and search term initiate peripheral search . Passing in an array can perform multi keyword retrieval .- Note that the unit of radius here is rice
var local = new BMapGL.LocalSearch(map, {
renderOptions: {
map: map, autoViewport: false }
})
local.searchNearby(' The hospital ', new BMapGL.Point(121.480509, 31.23592), 1000)

Retrieve data control
- The retrieved data is not all returned at once , Is returned by paging . In this way, we can control how much data is displayed in a range , To ensure the user experience .
setPageCapacity()Set how many pieces of data are displayed on a page .gotoPage()Jump to the specified page .
// Total number of pages
var pageAll = 0
var myKeys = [' The hotel ', ' The hospital ']
var local = new BMapGL.LocalSearch(map, {
renderOptions: {
map: map, panel: 'r-result' },
onSearchComplete: function (res) {
console.log(' ~ file: Map perimeter retrieval .html ~ line 35 ~ res', res)
pageAll = res[0].getNumPages()
}
})
local.setPageCapacity(20)
local.search(myKeys)
var i = 0 // the number of pages
function onBut() {
if (i === pageAll) {
i = 0
} else {
i++
}
local.gotoPage(i)
}

边栏推荐
猜你喜欢

Distributed transaction solution

The data in servlet is transferred to JSP page, and the problem cannot be displayed using El expression ${}

How to change the panet layer in yolov5 to bifpn

通达OA 首页门户工作台

4. Classes and objects

HW-初始准备

Detailed introduction to the usage of Nacos configuration center

Principle and application of database

Memory pool (understand the process of new developing space from the perspective of kernel)

Summary of interview project technology stack
随机推荐
awk从入门到入土(2)认识awk内置变量和变量的使用
机器学习流程与方法
怎么将yolov5中的PANet层改为BiFPN
Gbase 8C system table PG_ collation
GBase 8c系统表-pg_amop
Machine learning process and method
GBase 8c系统表pg_database
The use of Flink CDC mongodb and the implementation of Flink SQL parsing complex nested JSON data in monggo
Monitoring and management of JVM
【ROS进阶篇】第六讲 ROS中的录制与回放(rosbag)
Gbase 8C system table PG_ conversion
random shuffle注意
COM and cn
[fluent] listview list (map method description of list set | vertical list | horizontal list | code example)
Oauth2.0 authentication, login and access "/oauth/token", how to get the value of request header authorization (basictoken)???
The data in servlet is transferred to JSP page, and the problem cannot be displayed using El expression ${}
Gbase 8C system table PG_ authid
oauth2.0鉴权,登录访问 “/oauth/token”,请求头Authorization(basicToken)如何取值???
Word word word
Awk from getting started to being buried (2) understand the built-in variables and the use of variables in awk