移动端通过百度地图获取当前手机位置详情

由于微信7.0版本升级了对https的安全限制,在微信7.0版本及以上版本使用http协议访问定位组件会导致定位失败。开发者如遇到上述问题,请切换至https协议访问,亲测,有效噢!话不多说,直接上代码。
先引入

<script type="text/javascript" src="//api.map.baidu.com/api?v=2.0&ak=你的key">/script>
<script type="text/javascript">

		var map = new BMap.Map("allmap");//创建Map实例,注意页面中一定要有个id为allmp的div

		var point = new BMap.Point(116.331398,39.897445);//创建定坐标

		map.centerAndZoom(point,12); 初始化地图,设置中心点坐标和地图级别

		var geolocation = new BMap.Geolocation();

		var gc = new BMap.Geocoder();//创建地理编码器

		// 开启SDK辅助定位

		geolocation.enableSDKLocation();

		geolocation.getCurrentPosition(function(r){

			if(this.getStatus() == BMAP_STATUS_SUCCESS){

				var mk = new BMap.Marker(r.point);

				map.addOverlay(mk);

				map.panTo(r.point);

				var pt = r.point;

				map.panTo(pt);//移动地图中心点

				gc.getLocation(pt, function(rs){
					var addComp = rs.addressComponents;
					 alert(addComp.province + addComp.city + addComp.district);
				});
			}
			else {
				alert('failed'+this.getStatus());
			}
		});
	</script>
如有问题,请加qq群:953112936
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 Uniapp 移动应用中获取定位并在地图上显示当前位置,可以使用以下步骤: 1. 在项目中引入地图 SDK(如百度地图 SDK、高德地图 SDK 等),并按照相应的文档进行配置。 2. 在页面中创建地图组件,并设置地图的初始中心点和缩放级别。 3. 在页面中添加获取定位的按钮,并在按钮的点击事件中调用定位 API 来获取当前位置的经纬度信息。 4. 将获取到的经纬度信息传递给地图 SDK,并使用 SDK 提供的接口在地图上添加当前位置的标记。 以下是一个简单的示例代码: ``` <template> <view> <map :longitude="longitude" :latitude="latitude" :scale="scale" @markertap="onMarkerTap"></map> <button @tap="getLocation">获取位置</button> </view> </template> <script> export default { data() { return { longitude: 0, // 地图中心点的经度 latitude: 0, // 地图中心点的纬度 scale: 16, // 地图的缩放级别 } }, methods: { // 获取定位信息 getLocation() { uni.getLocation({ type: 'gcj02', // 使用国测局坐标系 success: res => { this.longitude = res.longitude this.latitude = res.latitude // 在地图上添加当前位置的标记 uni.addMapMarkers({ id: 0, longitude: res.longitude, latitude: res.latitude, title: '当前位置', iconPath: '当前位置的图标路径', width: 32, height: 32, callout: { content: '当前位置', fontSize: 14, bgColor: '#ffffff', padding: 8, borderRadius: 4, display: 'ALWAYS' } }) }, fail: res => { uni.showToast({ title: '获取位置失败', icon: 'none' }) } }) }, // 点击标记时的事件处理函数 onMarkerTap(e) { uni.showToast({ title: '你点击了当前位置', icon: 'none' }) } } } </script> ``` 需要注意的是,在使用定位 API 时,需要在 `manifest.json` 文件中声明相关权限(如 `location`)。另外,在添加标记时,需要指定标记的图标路径和样式,并可以添加一个气泡提示框来显示标记的信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值