全部
常见问题
产品动态
精选推荐

腾讯地图无法使用问题(优化后的第二版)

管理 管理 编辑 删除

注:除了根据下面更改外一定要替换map文件

注意⚠️:需要安装:npm install vue-jsonp --save

平台端与门店端后台:

文件是:view/admin源码目录

1、链接:/src/main.js

添加如图所示:

38ee5202407240939015669.png

方便复制:

import { VueJsonp } from 'vue-jsonp'
Vue.use(VueJsonp);

2、链接:/src/components/map/map.vue

下载附件  注:没有改过代码的直接覆盖,改过代码的对照一下

注:1和2平台端和门店端都需要更改

3、平台端修改:

a、链接:/src/api/store.js

添加接口如图所示:

df5a3202409061620279591.png

方便复制:

/**
 * @description 门店-添加门店
 * data--地址转id
 */
export function getResolveCity (data) {
    return request({
        url: `resolve/city`,
        method: 'get',
		params: data
    })
}

b、链接:/src/pages/store/addStore/index.vue(3.0.1之前链接:src/pages/store/components/addStore.vue)

8a762202409061623226147.png

24706202409061624051898.png

方便复制:
提示:为减少误差,建议门店地址与定位地区保持一致
.tip{
	color: #ed4014;
}

67d6a202409061631254178.png

方便复制:
getResolveCity

9ca37202409061632562524.png

方便复制:
resolveCity(address){
	let data = {
					address:address
				}
				getResolveCity(data).then(res=>{
					let array = []
					res.data.forEach(item=>{
						array.push(item.id)
					})
					this.formItem.addressSelect = array
				}).catch(err=>{
					this.$Message.error(res.msg)
				})
			},
			// 地图信息获取
			getCoordinates(data) {
				this.formItem.latitude = data.location.lat || 34.34127
				this.formItem.longitude = data.location.lng || 108.93984
				if(data.address_reference){
					let landmark = data.address_reference.landmark_l2;
					this.formItem.detailed_address = landmark.title;
					this.formItem.latitude = landmark.location.lat || 34.34127;
					this.formItem.longitude = landmark.location.lng || 108.93984;
					let component = data.address_component;
					let town = data.address_reference.town.title;
					town = town == '丈八街道'?'丈八沟街道':town;
					let address = [component.province,component.city,component.district,town];
					this.storeAddress = address.join('');
					this.resolveCity(address.join('/'));
				}
			},			

查找函数getInfo();删除里面的onSearch()

4、门店端修改:

文件是:view/store源码目录

a、链接:/src/api/setting.js

9001d202409061639099749.png

方便复制:
/**
 * @description 门店-添加门店
 * data--地址转id
 */
export function getResolveCity (data) {
    return request({
        url: `resolve/city`,
        method: 'get',
		params: data
    })
}

b、链接:/src/pages/setting/index.vue

45ef3202409061642108429.png

79d8e202409061642472992.png

方便复制:
提示:为减少误差,建议门店地址与定位地区保持一致
v-if="isApi && currentTab == 1"
.tip{
	color: #ed4014;
}

51f54202409061644219534.png

方便复制:getResolveCity

2f587202409061645543798.png

方便复制:
resolveCity(address){
	let data = {
					address:address
				}
				getResolveCity(data).then(res=>{
					let array = []
					res.data.forEach(item=>{
						array.push(item.id)
					})
					this.formItem.addressSelect = array
				}).catch(err=>{
					this.$Message.error(res.msg)
				})
			},
			// 地图信息获取
			getCoordinates(data) {
				this.formItem.latitude = data.location.lat || 34.34127
				this.formItem.longitude = data.location.lng || 108.93984
				if(data.address_reference){
					let landmark = data.address_reference.landmark_l2;
					this.formItem.detailed_address = landmark.title;
					this.formItem.latitude = landmark.location.lat || 34.34127;
					this.formItem.longitude = landmark.location.lng || 108.93984;
					let component = data.address_component;
					let town = data.address_reference.town.title;
					town = town == '丈八街道'?'丈八沟街道':town;
					let address = [component.province,component.city,component.district,town];
					this.formItem.address = address.join('');
					this.resolveCity(address.join('/'));
				}
			},			

查找函数getInfo();删除里面的onSearch()

需要安装:npm install vue-jsonp --save

5、需要重新打包 (平台后台、门店后台)

打包文档: https://doc.crmeb.com/pro/crmebprov2/2354


php代码修改:

6、文件:route/admin.php

增加如下接口:

//解析(导入地图城市地址)
Route::get('resolve/city', 'Common/resolveCityList')->option(['real_name' => '解析导入地图城市地址']);

放在下图所在位置:

5fcf9202409061658357135.png

7、文件:app/controller/admin/Common.php

增加如下方法:

/**
	 * 解析(获取导入地图城市地址)
	 * @param CityAreaServices $services
	 * @return \think\Response
	 * @throws \think\db\exception\DataNotFoundException
	 * @throws \think\db\exception\DbException
	 * @throws \think\db\exception\ModelNotFoundException
	 */
	public function resolveCityList(CityAreaServices $services)
	{
		$address = $this->request->param('address', '');
		if (!$address)
			return app('json')->fail('地址不存在');
		if (strpos($address, '/') === false) {
			$address = implode('/', array_values($services->addressHandle($address)));
		}
		$city = $services->searchCity(compact('address'));
		if (!$city) return app('json')->fail('地址暂未录入,请联系管理员');
		$where = [['id', 'in', array_merge([$city['id']], explode('/', trim($city->path, '/')))]];
		return app('json')->success($services->getCityList($where, 'id as value,id,name as label,parent_id as pid', ['children']));
	}

可以放在,下图所示位置:

c5ab8202409061700498564.png

8、文件:route/store.php

增加如下接口:

//解析(导入地图城市地址)
Route::get('resolve/city', 'Common/resolveCityList')->option(['real_name' => '解析导入地图城市地址']);

放在下图所在位置:

939d420240906165931272.png

9、文件:app/controller/store/Common.php

增加如下代码:

/**
	 * 解析(获取导入地图城市地址)
	 * @param CityAreaServices $services
	 * @param Request $request
	 * @return \think\Response
	 * @throws \think\db\exception\DataNotFoundException
	 * @throws \think\db\exception\DbException
	 * @throws \think\db\exception\ModelNotFoundException
	 */
	public function resolveCityList(CityAreaServices $services, Request $request)
	{
		$address = $request->param('address', '');
		if (!$address)
			return app('json')->fail('地址不存在');
		if (strpos($address, '/') === false) {
			$address = implode('/', array_values($services->addressHandle($address)));
		}
		$city = $services->searchCity(compact('address'));
		if (!$city) return app('json')->fail('地址暂未录入,请联系管理员');
		$where = [['id', 'in', array_merge([$city['id']], explode('/', trim($city->path, '/')))]];
		return app('json')->success($services->getCityList($where, 'id as value,id,name as label,parent_id as pid', ['children']));
	}

可以放在,下图所示位置:

4ace8202409061702254142.png

10、重启swoole

附件

map.zip

请登录后查看

小小 最后编辑于2024-09-09 09:46:27

快捷回复
回复({{post_count}}) {{!is_user ? '我的回复' :'全部回复'}}
回复从新到旧

{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}

作者 管理员 企业

{{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest==1? '取消推荐': '推荐'}}
{{item.floor}}#
{{item.user_info.title}}
附件

{{itemf.name}}

{{item.created_at}}  {{item.ip_address}}
{{item.like_count}}
{{item.showReply ? '取消回复' : '回复'}}
删除
回复
回复

{{itemc.user_info.nickname}}

{{itemc.user_name}}

作者 管理员 企业

回复 {{itemc.comment_user_info.nickname}}

附件

{{itemf.name}}

{{itemc.created_at}}   {{itemc.ip_address}}
{{itemc.like_count}}
{{itemc.showReply ? '取消回复' : '回复'}}
删除
回复
回复
查看更多
回复
回复
963
{{like_count}}
{{collect_count}}
添加回复 ({{post_count}})

相关推荐

小小 管理员
暂无简介

回答

978

发布

44

经验

8965

快速安全登录

使用微信扫码登录
{{item.label}} {{item.label}} {{item.label}} 板块推荐 常见问题 产品动态 精选推荐 首页头条 首页动态 首页推荐
加精
取 消 确 定
回复
回复
问题:
问题自动获取的帖子内容,不准确时需要手动修改. [获取答案]
答案:
提交
bug 需求 取 消 确 定

微信登录/注册

切换手机号登录

{{ bind_phone ? '绑定手机' : '手机登录'}}

{{codeText}}
切换微信登录/注册
暂不绑定
CRMEB客服

CRMEB咨询热线 咨询热线

400-8888-794

微信扫码咨询

CRMEB开源商城下载 开源下载 CRMEB官方论坛 帮助文档
返回顶部 返回顶部
CRMEB客服