百度地图的定位以及拖拽(显示坐标位置)

截图示例

<!doctype html>

<html lang="en">
 <head>
  <meta charset="UTF-8">
  <meta name="Generator" content="EditPlus?">
  <meta name="Author" content="">
  <meta name="Keywords" content="">
  <meta name="Description" content="">
  <title></title>

<style type="text/css">
        html{height:100%}    
        body{height:100%;margin:0px;padding:0px}    
        #map_canvas{
            margin:0 auto;
            border:2px solid #f9f7f6;
            width:80%;
            height:80%;
            }

</style>
  
 </head>
 <body>

<div id="map_canvas"></div>

<script src="jquery-2.1.4.min.js"></script>
    <script src="http://api.map.baidu.com/api?v=2.0&ak=74af171e2b27ee021ed33e549a9d3fb9"></script>
    <script type="text/javascript" src="http://api.map.baidu.com/library/TextIconOverlay/1.2/src/TextIconOverlay_min.js"></script>
    <script type="text/javascript" src="http://api.map.baidu.com/library/MarkerClusterer/1.2/src/MarkerClusterer_min.js"></script>

<script type="text/javascript">
        var map = new BMap.Map("map_canvas");          // 创建地图实例
        var initLat = 39.916527;
        var initLng = 116.397128;
        var point = new BMap.Point(initLng, initLat);  // 创建点坐标  
        map.centerAndZoom(point, 13);                 // 初始化地图,设置中心点坐标和地图级别

//var marker = new BMap.Marker(point);        // 创建标注    
        //map.addOverlay(marker);                     // 将标注添加到地图中

map.enableScrollWheelZoom();                            // 启用滚轮放大缩小 
        map.addControl(new BMap.NavigationControl());           // 启用放大缩小 尺
        
        //获取当前位置
        var geolocation = new BMap.Geolocation();  
        geolocation.getCurrentPosition(function(r){  
            if(this.getStatus() == BMAP_STATUS_SUCCESS){  
                mk = new BMap.Marker(r.point);  
                mk.addEventListener("dragend", showInfo);
                mk.enableDragging();    //可拖拽
                
                getAddress(r.point);

map.addOverlay(mk);//把点添加到地图上  
                map.panTo(r.point);

}else {  
                alert(‘failed‘+this.getStatus());  
            }  
        });
        
        //绑定Marker的拖拽事件
        function showInfo(e){
            var gc = new BMap.Geocoder();
            gc.getLocation(e.point, function(rs){
                var addComp = rs.addressComponents;
                var address = addComp.province +  addComp.city + addComp.district + addComp.street + addComp.streetNumber;//获取地址
                alert(address); 
                //画图 ---》显示地址信息
                var label = new BMap.Label(address,{offset:new BMap.Size(20,-10)});
                map.removeOverlay(mk.getLabel());//删除之前的label

mk.setLabel(label);
                //alert(e.point.lng + ", " + e.point.lat + ", "+address);
             });
        }
        
        //获取地址信息,设置地址label
        function getAddress(point){
            var gc = new BMap.Geocoder();
            
            gc.getLocation(point, function(rs){
                var addComp = rs.addressComponents;
                var address =  addComp.province +  addComp.city + addComp.district + addComp.street + addComp.streetNumber;//获取地址
                   alert(address); 
                //画图 ---》显示地址信息
                var label = new BMap.Label(address,{offset:new BMap.Size(20,-10)});
                map.removeOverlay(mk.getLabel());//删除之前的label

mk.setLabel(label);
                
             });
             
        }
        
        
        
    </script>

</body>
</html>

原文地址:https://www.cnblogs.com/ricklz/p/9167049.html

时间: 2024-11-01 11:39:42

百度地图的定位以及拖拽(显示坐标位置)的相关文章

百度地图,自动获取定位,拖拽获取地点,模糊查询获取当前位置

先看下效果图,因为没有美化,只是做一下功能. 完整代码如下 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <script src="../.

百度地图开发定位与显示Demo(Android)

百度地图给我们提供了非常丰富的API供我们进行二次开发.百度地图的SDK与定位SDK在今年6月份进行了更新.地图更新为3.0,定位更新为4.2.百度说:这次更新对接口有了较大部分的调整,与之前版本不兼容.本篇博文基于以上最新版本的API提供一个小例子:获取自己当前的经纬度坐标,并且显示在地图上.这里只给出核心代码,其他KEY的引入,地图控件的添加,权限的声明,定位服务的声明可在百度地图API官网(http://developer.baidu.com/map/sdkandev-download.h

Android应用中使用百度地图API定位自己的位置(二)

官方文档:http://developer.baidu.com/map/sdkandev-6.htm#.E7.AE.80.E4.BB.8B3 百度地图SDK为开发者们提供了如下类型的地图覆盖物: 我的位置图层(MyLocationOverlay):用于显示用户当前位置的图层(支持自定义位置图标): Poi搜索结果图层(PoiOverlay):用于显示兴趣点搜索结果的图层: 路线图层(RouteOverlay):公交.步行和驾车线路图层,将公交.步行和驾车出行方案的路线及关键点显示在地图上(起.终

Xamarin.Android 使用百度地图获取定位信息

最近做一个项目,web端使用百度地图,PDA使用手持机自带的GPS定位系统获取经纬度,然后再百度地图上显示该经纬度会有一定距离的差异,这里就像可乐的瓶子拧上雪碧的盖子,能拧的上却不美观.所以为了数据的精确性,PDA端也用百度地图的接口. 下面主要流程分为以下几步: 新建项目BaiduMapAPIDemo. 下载百度地图 --Android定位SDK . Binging Labrary项目添加相关文件. 注册百度开发平台,创建应用,获取AK. 写入百度提供示例代码. 查看输出结果. 第一步:新建项

利用HTML5定位功能,实现在百度地图上定位

利用HTML5定位功能,实现在百度地图上定位 代码如下: <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>HTML5定位</title>     <script type="text/javascript" src="http://lib.sinaapp

利用HTML5定位功能,实现在百度地图上定位(转)

原文:利用HTML5定位功能,实现在百度地图上定位 代码如下: 测试浏览器:ie11定位成功率100%,Safari定位成功率97%,(add by zhj :在手机上测试(用微信内置浏览器打开),无论使用WIFI还是移动4G联网, 定位精度都是蛮高的,误差在几十米内) <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>

百度地图 web定位

<!DOCTYPE html><html><head><meta charset="utf-8" /><meta name="viewport" content="initial-scale=1.0, user-scalable=no" /><title>测试定位</title><script type="text/javascript"

HTML5 File API — 拖拽显示

1.HTML5拖拽 在 HTML5 中,拖放是标准的一部分,任何元素都能够拖放. 如果是html中的元素,要进行拖动,需要设置draggable为true. 下面的代码显示了img在两个div里任意拖动. 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <style type="text/css"> 5 #div1, #div2 6 {float:left; width:100px; height:35px;

在Fragment中实现百度地图,定位到当前位置(基于SDKv2.1.0)

使用最新版本的百度地图需要注意的几个地方: 1.libs文件夹下要有android-support-v4.jar.baidumapapi_v2_1_0.jar.locSDK_3.1.jar三个jar包和armeabi文件夹. 2.布局文件要写成<com.baidu.mapapi.map.MapView />,旧版本是写作<com.baidu.mapapi.MapView />的. 3.AndroidMainfest这个配置文件要把该添加的东西都加上.比如各种权限.比如屏幕支持.比如