当前位置:网站首页>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)
}

边栏推荐
- Coroutinecontext in kotlin
- Restcloud ETL cross database data aggregation operation
- Gbase 8C system table PG_ authid
- Unrecognized SSL message, plaintext connection?
- [Flutter] dart: class;abstract class;factory;类、抽象类、工厂构造函数
- Awk from getting started to being buried (2) understand the built-in variables and the use of variables in awk
- GBase 8c系统表pg_cast
- Principle and application of database
- GBase 8c 函数/存储过程参数(一)
- Basic operation of binary tree (C language version)
猜你喜欢

Y54. Chapter III kubernetes from introduction to mastery -- ingress (27)

Oauth2.0 authentication, login and access "/oauth/token", how to get the value of request header authorization (basictoken)???
![[Hcia]No.15 Vlan间通信](/img/59/a467c5920cbccb72040f39f719d701.jpg)
[Hcia]No.15 Vlan间通信

Summary of interview project technology stack

线程安全的单例模式

Producer consumer model based on thread pool (including blocking queue)

SPI机制

【Flutter】shared_ Preferences local storage (introduction | install the shared_preferences plug-in | use the shared_preferences process)

Basic operation of binary tree (C language version)

random shuffle注意
随机推荐
为什么会选择框架?选择什么样的框架
[Flutter] dart: class;abstract class;factory;类、抽象类、工厂构造函数
Gbase 8C function / stored procedure parameters (I)
COM and cn
[Hcia]No.15 Vlan间通信
Use go language to realize try{}catch{}finally
人脸识别6- face_recognition_py-基于OpenCV使用Haar级联与dlib库进行人脸检测及实时跟踪
Memory pool (understand the process of new developing space from the perspective of kernel)
How to change the panet layer in yolov5 to bifpn
The Sandbox阐释对元宇宙平台的愿景
GBase 8c系统表-pg_authid
Kotlin middle process understanding and Practice (I)
UDP receive queue and multiple initialization test
Cancellation of collaboration in kotlin, side effects of cancellation and overtime tasks
Su Shimin: 25 principles of work and life
【Flutter】shared_ Preferences local storage (introduction | install the shared_preferences plug-in | use the shared_preferences process)
各国Web3现状与未来
Awk from getting started to being buried (2) understand the built-in variables and the use of variables in awk
Y54. Chapter III kubernetes from introduction to mastery -- ingress (27)
Basic operation of binary tree (C language version)