amap_search_fluttify 0.14.0

Flutter Android iOS

An `Amap` Search Component, Powered By `Fluttify` Engine, A Dart Bindings Generator for Native SDK.

高德地图 搜索组件 #

pub package CI Gitter

高德地图搜索组件. Dart接口基于Fluttify引擎生成. 接口文档.

技术支持 #

Fluttify网站 #

  • Fluttify系列插件的生成引擎fluttify.com网站已上线, 欢迎各位来试用, 目前网站仍然处于早期阶段, 如果有什么建议可以在反馈仓库中提issue.
  • 如何使用网站?
    1. 使用github账号登录网站, 我需要知道是谁在使用我的网站;
    2. 填写原生SDK相关的信息, 填写maven坐标和cocoapods名称的时候会进行联网自动补全;
    3. 提交请求, 目前默认获取目标SDK的最新版本来生成插件;
    4. 请求完成后会往github账号关联的邮箱地址发一份邮件, 产物插件便在邮件的附件中;
  • 网站前端使用flutter for web编写(目前产物可能会比较大, 随着flutter官方的优化这些问题会逐步改善), 部署在github pages上, 所以首次访问可能会异常的慢, 请耐心等待或者多试几次.

接外包 #

本人承接外包项目(地图类app优先), 有意者请联系qq 382146139.

DEMO 与 社区 #

DemoQQ群
扫描二维码
或者
点击下载
加入QQ群讨论 <br/>

安装:

dependencies:
  flutter:
    sdk: flutter
  amap_search_fluttify: ^x.x.x

导入:

import 'package:amap_search_fluttify/amap_search_fluttify.dart';

使用:

/// !注意: 只要是返回Future的方法, 一律使用`await`修饰, 确保当前方法执行完成后再执行下一行, 在不能使用`await`修饰的环境下, 在`then`方法中执行下一步.
/// 初始化 iOS在init方法中设置, android需要去AndroidManifest.xml里去设置, 详见https://lbs.amap.com/api/android-sdk/gettingstarted
await AmapCore.init('ios key');

/// !重要: 通过AmapSearchDisposeMixin释放native端的对象, 否则native端会内存泄漏!
class _KeywordPoiScreenState extends State<KeywordPoiScreen> with AmapSearchDisposeMixin {}

/// 搜索关键字poi
final poiList = await AmapSearch.instance.searchKeyword(
                _keywordController.text,
                city: _cityController.text,
              );

/// 搜索周边poi
final poiList = await AmapSearch.instance.searchAround(
                LatLng(
                  double.tryParse(_latController.text) ?? 29.08,
                  double.tryParse(_lngController.text) ?? 119.65,
                ),
                keyword: _keywordController.text,
              );

/// 输入提示
final inputTipList = await AmapSearch.instance.fetchInputTips(
                _keywordController.text,
                city: _cityController.text,
              );

/// 地理编码(地址转坐标)
final geocodeList = await AmapSearch.instance.searchGeocode(
                _keywordController.text,
                city: _cityController.text,
              );

/// 逆地理编码(坐标转地址)
final reGeocodeList = await AmapSearch.instance.searchReGeocode(
                LatLng(
                  double.parse(_latController.text),
                  double.parse(_lngController.text),
                ),
                radius: 200.0,
              );

/// 获取行政区划数据
final district = await AmapSearch.instance.searchDistrict(_keywordController.text);

/// 获取天气数据
final district = await AmapSearch.instance.searchDistrict(_keywordController.text);

/// 公交路径规划(未完成)
final routeResult = await AmapSearch.instance.searchBusRoute(
                from: LatLng(
                  double.parse(_fromLatController.text),
                  double.parse(_fromLngController.text),
                ),
                to: LatLng(
                  double.parse(_toLatController.text),
                  double.parse(_toLngController.text),
                ),
                city: '杭州',
              );

/// 驾车路径规划
final routeResult = await AmapSearch.instance.searchDriveRoute(
                from: LatLng(
                  double.parse(_fromLatController.text),
                  double.parse(_fromLngController.text),
                ),
                to: LatLng(
                  double.parse(_toLatController.text),
                  double.parse(_toLngController.text),
                ),
              );

/// 骑行路径规划
final routeResult = await AmapSearch.instance.searchRideRoute(
                from: LatLng(
                  double.parse(_fromLatController.text),
                  double.parse(_fromLngController.text),
                ),
                to: LatLng(
                  double.parse(_toLatController.text),
                  double.parse(_toLngController.text),
                ),
              );

/// 步行路径规划
final routeResult = await AmapSearch.instance.searchWalkRoute(
                from: LatLng(
                  double.parse(_fromLatController.text),
                  double.parse(_fromLngController.text),
                ),
                to: LatLng(
                  double.parse(_toLatController.text),
                  double.parse(_toLngController.text),
                ),
              );
微信支持支付宝支持

LICENSE #

Copyright 2020 yohom

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

5
likes
80
pub points
81%
popularity

Publisher

fluttify.com

An `Amap` Search Component, Powered By `Fluttify` Engine, A Dart Bindings Generator for Native SDK.

Repository (GitHub)
View/report issues

Documentation

API reference

License

Apache 2.0 (LICENSE)

Dependencies

amap_core_fluttify, core_location_fluttify, flutter, foundation_fluttify

More

Packages that depend on amap_search_fluttify