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ínhKiểuMô tả
apiKeystringKey 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ứcGiá 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>