高德地图php demo,vue.js 高德地图 demo

{{position|json}}

Go!

'use strict';

Vue.component('gdMap', {

props: ['position'],

template: '

replace: true,

ready() {

this.map = new AMap.Map(this.$el, {

resizeEnable: true,

zoom: 12,

})

var self = this

if (this.position.lng && this.position.lat) {

var center = [this.position.lng, this.position.lat]

this.map.setCenter(center)

this.marker = new AMap.Marker({ map: self.map })

this.marker.setPosition(center)

}

this.map.on('click', function (e) {

self.$dispatch('map-click', e)

if (!self.marker) {

self.marker = new AMap.Marker({ map: self.map })

}

self.marker.setPosition([e.lnglat.getLng(), e.lnglat.getLat()])

})

},

events: {

'setCenter'(center) {

if (!this.map) return

this.map.setCenter(center)

},

},

})

new Vue({

el: '#app',

data: function () {

return {

q: null,

position: {}

}

},

methods: {

search(q) {

var self = this

AMap.service(["AMap.PlaceSearch"], function () {

var placeSearch = new AMap.PlaceSearch({ //构造地点查询类

pageSize: 1,

pageIndex: 1,

//city: "010", //城市

//map: self.map,

//panel: "panel"

})

//关键字查询

placeSearch.search(q, function (status, result) {

//TODO : 按照自己需求处理查询结果

var poiList = result.poiList

if (poiList.count > 0) {

var p = poiList.pois[0]

self.$broadcast('setCenter', [p.location.lng, p.location.lat])

}

})

})

},

map_click (e) {

this.$set('position.lat', e.lnglat.getLat())

this.$set('position.lng', e.lnglat.getLng())

}

},

components: {

modal: VueStrap.modal

}

})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值