GithubHelp home page GithubHelp logo

steven-zou-vue-amap-search's Introduction

vue-amap-search

A Vue.js amap 高德地图搜索功能组件

Demo

http://www.devmeng.com/vue-amap-search/

如何使用

  1. 引入高德地图 .js 文件, 注意需要配置参数和你的高德key

例如: <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.3&plugin=AMap.Geocoder&key=你的高德地图key"></script> 因为我们用到了地址->poi反查,所以要用到plugin=AMap.Geocoder

  1. 导入js和css,声明component

单一组件内部使用

import AmapSearch from 'vue-amap-search'
import 'vue-amap-search/dist/lib/main.css'

export default {
  // 省略
  components:{
      'amap-search': AmapSearch
  }
}

or 全局声明

import Vue from 'vue'
import AmapSearch from 'vue-amap-search'
import 'vue-amap-search/dist/vue-instant.css'
Vue.use(AmapSearch)

html 中使用都是一样的,及得给amap-search设定宽和高,

<amap-search 
  :searchCount="2"
  :autoConfirm="false"
  :useClick="true"
  :width="800"
  :height="340"
  @userInput="handleUserInput"
  @pickedLocation="handlePickedLocation">
</amap-search>
  1. event and props

props

  • width 宽度 height 高度
  • searchCount 返回结果的数量
  • autoConfirm 是否自动确认点的地址, 默认 false 不开启 .

默认false, 用户点击确定后才会触发 handlePickedLocation 绑定的事件 如果true,searchCount 会自动变成1

  • useClick 是否开启用户单机地图, 默认 false 不开启 .

默认false, 用户点击地图没有反应, 只能搜索结果后拖动图标 如果true,searchCount 会自动变成1

Event

  • handleUserInput 输入框中的值
  • handlePickedLocation 用户选定坐标,并点击确定后的值

TODO:

  • 传入宽和高
  • 样式自包含, 不依赖于 bootstrap 3.3版本
  • 自动完成鼠标上下选择第三下失效.
  • 支持手点位置, 但是只能有一个搜索结果结果
  • 去掉sass 改用postcss
  • 支持开关确认按钮, 点击确定关闭
  • BUG: 拖动POI显示时候错位的问题, 应该是显示的问题
  • 做成 amap-search 组件, 组件的实现可以用到mixin
  • 优化 webpack task
  • 输出组件的ts定义 d.ts文件

Build Setup 二次开发或者fork

# 先安装typescript 然后 link
npm install typescript -g
npm link typescript

# install dependencies
npm install

# serve with hot reload at localhost:3030
npm run dev

# build for vue component with js, css with sourcemaps
npm run build:lib

# build for example project with vue framework in
npm run build:example


steven-zou-vue-amap-search's People

Contributors

zouhailin avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.