實例方法

透過 mapPlus PlacesService API 中的方法,可以搜尋地圖指定的地點。

PlacesService 提供五個地圖搜尋方法:

實例方法描述
findPlaceFromQuery可根據文字查詢傳回地點,例如地點的名稱或地址。
findPlaceFromPhoneNumber可根據電話號碼傳回地點。
textSearch可根據搜尋字串傳回附近地點的清單。
getDetails可傳回特定地點的詳細資訊。
nearBySearch可根據使用者的所在位置,傳回附近地點的清單。

findPlaceFromQuery

findPlaceFromQuery(request, callback)

可根據文字查詢傳回地點,例如地點的名稱或地址。

參數

  • request (object):請求參數。
  • callback (function):回調函數,返回第一個參數為查詢到的資料,第二個參數為請求狀態。
參數描述
request.query (string)必填,要搜尋的文字字串,例如「便利商店」或「中正路 100 號」。
request.fields (string[]?)選填,要回傳的資料欄位。
request.locationBias (object?)選填,設定搜尋區域的範圍,詳細使用方法 locationBias。

範例

javascript
const map = await new mapPlus(document.getElementById('map'), {  accessToken: 'get_your_token',  accessKey: 'get_your_key',  style: 'https://kw3dmap.localking.com.tw/openapi/map/kwmap.etxt',});
const service = new mapPlus.PlacesService(map);
const request = {  query: '便利商店',  fields: ['name', 'opening_hours', 'geometry'],  locationBias: {lat: 37.402105, lng: -122.081974},};
const callback = (result) => {  console.log(result);};
service.findPlaceFromQuery(request, callback);

findPlaceFromPhoneNumber

findPlaceFromPhoneNumber(request, callback)

可根據電話號碼傳回地點。

參數

  • request (object):請求參數。
  • callback (function):回調函數,返回第一個參數為查詢到的資料,第二個參數為請求狀態。
參數描述
request.phoneNumber (string)必填,要搜尋的電話號碼。
request.fields (string[]?)選填,要回傳的資料欄位。
request.locationBias (object?)選填,設定搜尋區域的範圍,詳細使用方法 locationBias。

範例

javascript
const map = await new mapPlus(document.getElementById('map'), {  accessToken: 'get_your_token',  accessKey: 'get_your_key',  style: 'https://kw3dmap.localking.com.tw/openapi/map/kwmap.etxt',});
const service = new mapPlus.PlacesService(map);
const request = {  phoneNumber: '27208889',  fields: ['name', 'opening_hours', 'geometry'],  locationBias: {lat: 37.402105, lng: -122.081974},};
const callback = (result) => {  console.log(result);};
service.findPlaceFromPhoneNumber(request, callback);

textSearch

textSearch(request, callback)

可根據搜尋字串傳回附近地點的清單。

參數

  • request (object):請求參數。
  • callback (function):回調函數,返回第一個參數為查詢到的資料,第二個參數為請求狀態。
參數描述
request.text (string)必填,要搜尋的文字。
request.location (object?)選填,要搜尋的座標。
request.radius (number?)選填,以座標為中心的半徑範圍(單位:公尺)。
request.type (string?)選填,要搜尋的地點類型,詳細類型清單 Type List。

範例

javascript
const map = await new mapPlus(document.getElementById('map'), {  accessToken: 'get_your_token',  accessKey: 'get_your_key',  style: 'https://kw3dmap.localking.com.tw/openapi/map/kwmap.etxt',});
const service = new mapPlus.PlacesService(map);
const request = {  text: '便利商店',  location: {lat: 37.402105, lng: -122.081974},  radius: 1000,  type: 'convenience_store',};
const callback = (results) => {  results.forEach((result) => {    console.log(result);  });};
service.textSearch(request, callback);

getDetails

getDetails(request, callback)

可傳回特定地點的詳細資訊。

參數

  • request (object):請求參數。
  • callback (function):回調函數,返回第一個參數為查詢到的資料,第二個參數為請求狀態。
參數描述
request.placeId (string)必填,要搜尋的地點 ID。
request.fields (string[]?)選填,要回傳的資料欄位。

範例

javascript
const map = await new mapPlus(document.getElementById('map'), {  accessToken: 'get_your_token',  accessKey: 'get_your_key',  style: 'https://kw3dmap.localking.com.tw/openapi/map/kwmap.etxt',});
const service = new mapPlus.PlacesService(map);
const request = {  placeId: 'YLDWVN',  fields: ['name', 'opening_hours', 'geometry'],};
const callback = (result) => {  console.log(result);};
service.getDetails(request, callback);

nearBySearch

nearBySearch(request, callback)

可根據使用者的所在位置,傳回附近地點的清單。

參數

  • request (object):請求參數。
  • callback (function):回調函數,返回第一個參數為查詢到的資料,第二個參數為請求狀態。
參數描述
request.location (string?)選填,要搜尋的座標。
request.radius (number?)選填,以座標為中心的半徑範圍(單位:公尺)。
request.keyword (string?)選填,要搜尋的文字。
request.type (string?)選填,要搜尋的地點類型,詳細類型清單 Type List。

範例

javascript
const map = await new mapPlus(document.getElementById('map'), {  accessToken: 'get_your_token',  accessKey: 'get_your_key',  style: 'https://kw3dmap.localking.com.tw/openapi/map/kwmap.etxt',});
const service = new mapPlus.PlacesService(map);
const request = {  location: {lat: 37.402105, lng: -122.081974},  radius: 1000,  keyword: '便利商店',  type: 'convenience_store',};
const callback = (results) => {  results.forEach((result) => {    console.log(result);  });};
service.nearBySearch(request, callback);