Skip to main content

實例方法

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

範例

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

範例

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

範例

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[]?)選填,要回傳的資料欄位。

範例

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

範例

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);