百度地图拖动标注后获取坐标

本来想用图吧的API来做的,结果弄了下,在手机上弄不了。换用百度地图了。。本功能个人觉得在很多地方用到,先记下来,省得每次都得翻地图API文档一点一点弄。

 

功能表现为: 地图一开始打开就定位到你的附近(以百度地图的浏览器定位为准),地图中心有一标注,鼠标拖去标注结果后弹框显示经纬度,自己测试过在手机上也是可以拖动的

 

代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">
        body, html, #allmap {
            width: 100%;
            height: 100%;
            margin: 0;
            font-family: "微软雅黑";
        }

        #l-map {
            height: 500px;
            width: 100%;
        }

        #r-result {
            width: 100%;
        }
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=fjEOTea6oQGEcK1GSUHruG4efO9fccei"></script>
    <title>设置点是否可拖拽</title>
</head>
<body>
    <div id="l-map"></div>
    <!--<div id="r-result">
        <input type="button" onclick="marker.enableDragging();" value="可拖拽" />
        <input type="button" onclick="marker.disableDragging();" value="不可拖拽" />
    </div>-->
</body>
</html>
<script type="text/javascript">
 // 百度地图API功能

    //浏览器定位
 var geolocation = new BMap.Geolocation();
 geolocation.getCurrentPosition(function (r) {
     if (this.getStatus() == BMAP_STATUS_SUCCESS) {
         var map = new BMap.Map("l-map");
        // var point = new BMap.Point(116.400244, 39.92556);
         map.centerAndZoom(r.point, 12); //定义地图等级,就是放大倍数
         map.enableScrollWheelZoom(true); //启用地图滚轮放大缩小  
         var marker = new BMap.Marker(r.point);// 创建标注
         map.addOverlay(marker);  // 将标注添加到地图中
         map.panTo(r.point);
        // alert('您的位置:' + r.point.lng + ',' + r.point.lat);
          
         marker.enableDragging(); //标注可拖拽
         //marker.disableDragging();           // 不可拖拽

         // 开启事件监听
         marker.addEventListener("dragend", function (e) {

             var x = e.point.lng; //经度
             var y = e.point.lat; //纬度
             alert("拖到的地点的经纬度:" + x + "," + y);

         });
     }
     else {
         alert('failed' + this.getStatus());
     }
 }, { enableHighAccuracy: true })

 

    //关于状态码
    //BMAP_STATUS_SUCCESS 检索成功。对应数值“0”。
    //BMAP_STATUS_CITY_LIST 城市列表。对应数值“1”。
    //BMAP_STATUS_UNKNOWN_LOCATION 位置结果未知。对应数值“2”。
    //BMAP_STATUS_UNKNOWN_ROUTE 导航结果未知。对应数值“3”。
    //BMAP_STATUS_INVALID_KEY 非法密钥。对应数值“4”。
    //BMAP_STATUS_INVALID_REQUEST 非法请求。对应数值“5”。
    //BMAP_STATUS_PERMISSION_DENIED 没有权限。对应数值“6”。(自 1.1 新增)
    //BMAP_STATUS_SERVICE_UNAVAILABLE 服务不可用。对应数值“7”。(自 1.1 新增)
    //BMAP_STATUS_TIMEOUT 超时。对应数值“8”。(自 1.1 新增)
</script>

 

在线查看:http://niaoren.niunan.net/drop_baidumap.html

时间: 2024-10-28 19:06:50

百度地图拖动标注后获取坐标的相关文章

java-JAVA百度地图鼠标绘制工具获取坐标保存数据库

问题描述 JAVA百度地图鼠标绘制工具获取坐标保存数据库 百度地图绘制工具里面绘制的图案或者覆盖物,怎么获取到坐标保存到数据库下次加载就数据,页面直接显示. 解决方案 http://blog.csdn.net/dyllove98/article/details/9069889 解决方案二: 首先根据百度地图API调用百度地图获取坐标信息,其次就是用java进行数据存储了. 参考:http://blog.csdn.net/bailin0007/article/details/11973401

百度地图怎么标注公司?

  百度地图标注公司教程有些朋友不是很了解,大家可以参考下文来学习百度地图怎么标注公司,百度地图是很多朋友在使用的工具,如果能在上面标注自己的公司是很不错的哦~ 如果您的商铺在百度地图上已经存在,搜索到后您可以直接认领;如果您的商铺在百度地图上还不存在,您可以先标注再进行认领. 参照您周边的地标性建筑,拖拽地图中的红点,标注到最准确的位置. 一个商铺不能被重复认领.如果您的商铺被其他人认领,请确认自己拥有认领的相关资质并且没有认领过该商铺后,请申请线下仲裁.

【百度地图API】自行获取区域经纬度的工具

原文:[百度地图API]自行获取区域经纬度的工具 摘要:上一章教大家如何建立自己的行政区域地图.这次为大家提供一个,可视化选择区域,并且能自动生成经纬度代码的工具.工具的源代码完全公开,并且做了详尽的注释.可以单纯做为一个工具,也可做为百度地图API的学习案例.   工具说明: 1.开关可以控制,是否在地图上建立折线覆盖物 2.双击地图,会建立多边形覆盖物 3.自动输入的经纬度信息,最后一行不要复制.因为map的dblclcik事件,会先触发两次click,最后才是dblclick. 4.清除按

php+js实现百度地图多点标注的方法_php技巧

本文实例讲述了php+js实现百度地图多点标注的方法.分享给大家供大家参考,具体如下: 1.php创建json数据 $products = $this->product_db->select($where); $products_json = json_encode($products); 2.js传入json数据 类似于这样的结构 var markerArr = [{ title: "名称:广州火车站", point: "113.264531,23.157003

PHP+百度地图API+JAVASCRIPT实现GPS坐标与百度坐标转换的实例

原文:PHP+百度地图API+JAVASCRIPT实现GPS坐标与百度坐标转换的实例 <!--小幅的坐标转换点位程序--> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <?php $jingwei="new BMap.Point($lon

android-安卓百度地图开发,如何获取屏幕右下角和左上角的地理坐标

问题描述 安卓百度地图开发,如何获取屏幕右下角和左上角的地理坐标 安卓百度地图开发,如何获取屏幕右下角和左上角的地理坐标 另外int tpSpan = mMapView.getLatitudeSpan();不能用了,谢谢各位大神了! 解决方案 http://blog.csdn.net/column/details/android-jacksen-map.html

百度地图API应用之获取用户的具体位置_php实例

功能的大概:用户通过点击地图上面的位置,在地图上面进行描点,然后再把获取的到的地理位置保存到地图上面的地址栏目中. 主要是百度地图API的使用 复制代码 代码如下: var map = new BMap.Map("allmap"); //实例化一个地图对象var point = new BMap.Point(116.331398,39.897445); //设置地图中心的位置map.centerAndZoom(point,12); //设置地图元素的可视层 map.enableScro

百度地图 定位 标注-IOS 百度地图 标注删除不了?求求大神啊 拜托了

问题描述 IOS 百度地图 标注删除不了?求求大神啊 拜托了 if (!_perList) { _perList=[[PersonalViewController alloc]init]; [self becomeFirstResponder]; CGFloat y=CGRectGetMaxY(_toolBar.frame); CGRect popFrame=CGRectMake(10, y, self.view.frame.size.width-20, self.view.frame.size

基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标_javascript技巧

前言 近来由于工作需要,需要提取某些城市的经纬度坐标,稍微搜索了一下,发现百度地图和高德地图都提供了相关的函数和例子.那么剩余的工作也就比较简单了,保存坐标,然后转换为WGS坐标,这样才能和现有的GPS数据以及地图匹配. 主要问题和解决方法 本地保存文件跨浏览器支持 由于安全的原因,JavaScript本地保存文件的方式通常都只有IE支持的ActiveXObject/Open方法,每次都要提示不安全和允许运行,非常麻烦.好在其他浏览器目前都支持<a>标签实现文件下载的方法.经测试最新的Goog