搜尋套件、儲存庫與 APP 分類

套件詳情v0.0.6

search_map_location

search_map_location 是一個用於透過名稱搜尋地理位置的文本搜尋小工具。它具有多個回呼與自訂選項,以處理地點搜尋。

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
99
喜歡數
35
Pub 分數
130

安裝套件

flutter pub add search_map_location

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

search_map_location 是一個 Flutter 套件,提供了一個文字搜尋元件,可透過名稱尋找地理位置。它支援可自訂的使用者介面,並提供多種回呼選項來管理地點搜尋結果,非常適合將位置搜尋功能整合到應用程式中。此套件可在 Android、iOS、Web、macOS、Windows 和 Linux 上運作,確保所有平台上的使用者體驗一致。

適用情境

  • 在旅行應用中整合位置搜尋
  • 在配送或物流應用中查找地點
  • 增強表單中的地址輸入
  • 啟用基於地圖的位置選擇
  • 支援事件規劃應用中的地理定位功能

主要特色

  • 基於文字的位置搜尋
  • 可自訂的搜尋元件
  • 多個回調處理程式
  • 跨平台相容性
  • 即時地點建議
  • 輕鬆整合地圖

適合對象

  • 開發位置感知應用的開發者
  • 需要地址或位置輸入的應用
  • 需要地圖互動的專案
  • 跨平台行動與Web應用
  • 以使用者體驗為導向的表單設計

使用建議

  • 需要網路連接進行地理編碼
  • 可能需要 API 金鑰才能實現完整功能
  • 效能取決於網路速度
  • 僅限名稱搜尋
  • 自定樣式可能需要額外的程式碼
  • 依賴於底層地圖服務

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

search_map_location

search_map_location is a text search widget used to search geo location by name.It has severel call back and customization option to handle the place search.

Getting Started

To install, add it to your pubspec.yaml file:

dependencies:
    search_map_location: 0.0.6

After that, make sure you have the following APIs activated in your Google Cloud Platform:

  • Places

You can now import it to your file and use it on your app.

import 'package:search_map_location/search_map_location.dart';
Widget build(BuildContext context) {
  return Scaffold(
    body: Center(
      child: SearchLocation(
        apiKey: // YOUR GOOGLE MAPS API KEY
        onSelected: (Place place){
        print(place.description);

         },
      )
    )
  );
}

The constructor has 8 attributes related to the API:

  • String apiKey is the only required attribute. It is the Google Maps API Key your application is using
  • (Place) void onSelected is a callback function called when the user selects one of the autocomplete options.
  • (Place) void onSearch is a callback function called when the user clicks on the search icon.
  • String language is the Language used for the autocompletion. Default is 'en' (english). Check the full list of supported languages for the Google Maps API
  • String country you can allow the search work only for a specific country.While using country don't use location and radius .Use ISO(Use alpha 2) code for country name see iso code of countries
  • LatLng location is the point around which you wish to retrieve place information. If this value is provided, radius must be provided aswell.
  • int radius is the distance (in meters) within which to return place results. Note that setting a radius biases results to the indicated area, but may not fully restrict results to the specified area. If this value is provided, location must be provided aswell. See Location Biasing and Location Restrict in the Google Maps API documentation.
  • bool restrictBounds will return only those places that are strictly within the region defined by location and radius.
  • PlaceType placeType will allow you to filter Places by its type. For more information on available types, check supported types for Autocompletion. On default, no filters are passed to the request, which means all Place types will be shown on autocompletion.
The Place class

This class will be returned on the onSelected and onSearch methods. It allows us to get more information about the user selected place.

Initially, it provides you with only basic information:

  • description contains the human-readable name for the returned result. For establishment results, this is usually the business name.
  • placeIdA textual identifier that uniquely identifies a place. For more information about place IDs, see the Place IDs overview.
  • types contains an array of types that apply to this place. The array can contain multiple values. Learn more about Place types.
  • fullJSON has the full JSON response received from the Places API. Can be used to extract extra information. More info on the Places Autocomplete API documentation

However, you can get more information like the coordinates and the bounds of the place by calling

await place.geolocation;

Example

Here's an example of the widget using country :

return SearchLocation(
    apiKey: YOUR_API_KEY,
    // The language of the autocompletion
    language: 'en',
    //Search only work for this specific country
    country: 'BD',
    onSelected: (Place place) async {
        final geolocation = await place.geolocation;

        // Will animate the GoogleMap camera, taking us to the selected position with an appropriate zoom
        final GoogleMapController controller = await _mapController.future;
        controller.animateCamera(CameraUpdate.newLatLng(geolocation.coordinates));
        controller.animateCamera(CameraUpdate.newLatLngBounds(geolocation.bounds, 0));
    },
);

Here's an example of the widget using location and radius :

return SearchLocation(
    apiKey: YOUR_API_KEY,
    // The language of the autocompletion
    language: 'en',
    // location is the center of a place and the radius provided here are between this radius of this place search result
    //will be provided,you can set this LatLng dynamically by getting user lat and long in double value
    location: LatLng(latitude: 9.072264, longitude: 7.491302),
    radius: 1100,
    onSelected: (Place place) async {
        final geolocation = await place.geolocation;

        // Will animate the GoogleMap camera, taking us to the selected position with an appropriate zoom
        final GoogleMapController controller = await _mapController.future;
        controller.animateCamera(CameraUpdate.newLatLng(geolocation.coordinates));
        controller.animateCamera(CameraUpdate.newLatLngBounds(geolocation.bounds, 0));
    },
);

所屬分類

依賴

依賴清單 1 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。