POI
eKMap Platform POI API giúp bạn dễ dàng sử dụng các Rest API về truy vấn một cách nhanh chóng và dễ dàng nhât, bao gồm:
- Dịch vụ tìm thông tin địa điểm - POI Search API
- Dịch vụ lấy thông tin chi tiết một địa điểm - POI Detail API
POI
Lớp cung cấp các phương thức trong tìm kiếm thông tin địa điểm nhận dựa theo đầu vào, lấy thông tin chi tiết của một địa điểm
new ekmapplf.service.POI(apiKey: String)
Parameters
Thuộc tính | Kiểu | Mô tả |
---|---|---|
apiKey | string | Key này sẽ được đưa vào trong tất cả các yêu cầu của dịch vụ |
Methods
Phương thức | Giá trị trả về | Mô tả |
---|---|---|
search(parameter: Object, callback: Function ) | Hàm lấy danh sách địa điểm dựa theo tham số parameter của POI Search API | |
detail(id: string, callback: Function ) | Hàm lấy thông tin chi tiết của một địa điểm dựa theo mã địa điểm |
Example
<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8" /><script src="https://files.ekgis.vn/sdks/v2.0.0/ekmap-platform.min.js"></script><link href="https://files.ekgis.vn/sdks/v2.0.0/ekmap-platform.min.css" rel='stylesheet' /><title>Search POI Service</title><style>.map {width: 100%;height: calc(100vh - 15px);}body {overflow: hidden;}</style></head> <body><div style="width: 100%;"><div id="divMapId" class="map"></div></div><script>var apiKey = 'YOUR_API_KEY' // "Nhập khóa API eKMap Platform của bạn"var map = new maplibregl.Map({container: 'divMapId',center: [105, 17],zoom: 4});var mapOSMBright = new ekmapplf.VectorBaseMap('OSM:Bright', apiKey).addTo(map);var poiService = new ekmapplf.service.POI(apiKey);map.on('click', function(evt){var lnglat = evt.lngLat.lng + "," + evt.lngLat.lat;var param = {location: lnglat,radius: 500,class_id: "education",sclass_id: "junior_high_school"}poiService.search(param, function(error, response){var innerHTML = "";if(response.status == "OK" && response.results.length > 0){innerHTML += "<h2>Danh sách trường học: </h2>";for(var i = 0; i < response.results.length; i++){innerHTML += "<div>" + response.results[i].name + "</div>";}}else{innerHTML = "<div>Không có dữ liệu</div>"}popupInfo.setLngLat([evt.lngLat.lng, evt.lngLat.lat]).setHTML(innerHTML).addTo(map);})})</script></body> </html>