高德地图应用

在这里插入图片描述
创建地图

  1. 去高德地图官网申请key值
  2. 引入自己的key值<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=您申请的key值"></script>
  3. 申请一个容器div
  4. .创建地图 new AMap.Map(‘容器的名字’);

获取级别和中心点
zoom:11
center:[120,33]
zoom的数字越大,显示的越精细,越小显示的范围越大
getZoom() 获取地图的级别
getCenter() 获取地图中心位置

on(‘moveend’) //地图移动结束时
on(‘zoomend’)//地图级别发生变化时
设置级别和中心点
setZoom() 设置地图的级别
setCenter() 设置地图的中心点
setZoomAndCenter() 同时设置地图的级别和中心点

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>我的第一个地图</title>
    <script type="text/javascript"
        src="https://webapi.amap.com/maps?v=1.4.15&key=34614f775ec9455cf2f9a5c7bb6acfa0"></script>
    <style type="text/css">
        * {margin: 0;padding: 0;}
        #container { width: 100%;height: 100%;position: absolute;left: 0;top: 0;}
        #setZoomNode,#setCenterNode{width: 360px;height: 100px; position: absolute;z-index: 99;right: 20px;top: 20px;border: 1px solid black;box-shadow: 0 0 5px black;background: white;}
    </style>
</head>

<body>
    <div id="container"></div>
    <div id="setCenterNode">
        x:<input type="" name="" id='xNode'>
        y:<input type="" name="" id='yNode'>
        zoom:<input type="text" name="" id='zoomVal'>
        <button id='btn'>确定</button>
    </div>
    <script type="text/javascript">
        var map = new AMap.Map('container', {
            zoom: 11,//初始的地图级别
            center: [121, 30]//初始化地图的中心点
        });
        //通过事件来给他设定级别
        btn.onclick = function () {
            map.setZoomAndCenter(zoomVal.value,[xNode.value,yNode.value]);
        }
        //当中心点发生变化时
        map.on('moveend', function () {
            console.log(map.getZoom());
            console.log(map.getCenter().toString());
        });
        //当双击级别发生变化时
        map.on('zoomend', function () {
            console.log(map.getZoom());
            console.log(map.getCenter().toString());
        })
    </script>
</body>
</html>

获取地图的行政区
map.getCity(function(info){
info 当前中心点的行政区
})
设置地图的行政区
map.setCity(‘字符串’)
想让地图到达该地区的中心点
获取地图的范围
getBounds().northeast //右上角的坐标
getBounds().southwest //左下角左边
设置地图的范围
var myBounds = new AMap.Bounds(左下角坐标的数组,右上角坐标的数组)
map.setBounds(myBounds) //但是不是特别精准,会以它觉得最好的方式去显示
设置显示范围
getBounds() // northeast.P / R southwest.P / R
setLimitBounds() ;
清除设定的显示范围
clearLimitBounds();
地图的平移
panBy(x,y) x代表向左平移多少像素 / y代表向上平移多少像素
panTo([x坐标,y坐标]) 地图会直接平移到这个位置
获取鼠标的经纬度
e.lnglat.lng / lat
设置地图鼠标的默认样式
setDefaultCursor(‘样式’)
cursor : 里面所有的样式都可以
综合案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>高德地图小工具栏</title>
    <script type="text/javascript"
        src="https://webapi.amap.com/maps?v=1.4.15&key=34614f775ec9455cf2f9a5c7bb6acfa0"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        #container {
            width: 100%;
            height: 100%;
            position: absolute;
            left: 0;
            top: 0;
        }
        #setCenterNode {
            width: 400px;
            height: 300px;
            position: absolute;
            z-index: 9;
            left: 20px;
            top: 20px;
            border: 1px solid black;
            box-shadow: 0 0 5px black;
            background: white;
            text-align: center;
            line-height: 50px;
        }
        .nowCity {
            position: absolute;
            right: 10px;
            bottom: 0;
        }
    </style>
</head>
<body>
    <div id="container"></div>
    <div id='setCenterNode'>
        <h2 class="tabs">工具栏</h2>
        <p>
            <span>搜索城市</span>
            <input type="text" id="cityNode" />
            <button id="cityBtn">确定</button>
        </p>
        <p>
            <span>设置显示级别</span>
            <input type="text" id="zoomNode" />
            <button id="zoomBtn">确定</button>
        </p>
        <button id="btnClear">解除范围限制</button>
        <br />
        <div class="nowCity">您当前所在/直辖市:<span id="nowCity"></span></div>
    </div>
    
    <script type="text/javascript">
        var map = new AMap.Map('container', {
            zoom: 11,
            center: [116.379391, 39.861536]
        });
        //设置地图的显示范围
        var myBounds = map.getBounds();
        map.setBounds(myBounds);
        //设置显示范围限制-->现在地图显示北京
        map.setLimitBounds(myBounds);
        //搜索城市
        cityBtn.onclick = function () {
            map.setCity(cityNode.value);
        }
        //设置级别
        zoomBtn.onclick = function () {
            map.setZoom(zoomNode.value);
        }
        //单机清除按钮,通过isLimit的状态判断是否清除限制
        var isLimit = false;
        btnClear.onclick = function () {
            if (isLimit == false) {
                btnClear.innerHTML = '已解除范围限制';
                map.clearLimitBounds(myBounds);
                isLimit = true;
            } else {
                map.setLimitBounds(myBounds);
                btnClear.innerHTML = '接触范围限制';
                isLimit = true;
            }
        }
        //当前行政中心
        map.getCity(function (info) {
            nowCity.innerHTML = info.province;
        });
        //绑定moveend事件
        map.on('moveend', function (info) {
            map.getCity(function (info) {
                nowCity.innerHTML = info.city;
            });
        })
    </script>
</body>
</html>```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android高德地图的综合应用可以包括以下几个方面的内容: 1. 引入高德地图SDK:在Android Studio中,可以通过在项目的build.gradle文件中添加高德地图SDK的依赖来引入高德地图SDK。例如,在dependencies中添加以下代码: ```groovy implementation 'com.amap.api:3dmap:latest_version' ``` 其中,latest_version是高德地图SDK的最新版本号。 2. 获取地图控件:在布局文件中添加MapView控件,用于显示地图。例如,在XML布局文件中添加以下代码: ```xml <com.amap.api.maps.MapView android:id="@+id/mapView" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 3. 初始化地图:在Activity或Fragment中,通过调用MapView的getMap()方法获取AMap对象,然后进行地图的初始化设置。例如,在Activity中添加以下代码: ```java private MapView mapView; private AMap aMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mapView = findViewById(R.id.mapView); mapView.onCreate(savedInstanceState); aMap = mapView.getMap(); // 进行地图的初始化设置,如设置地图类型、缩放级别等 } ``` 4. 在地图上添加标记:可以通过调用AMap对象的addMarker()方法,在地图上添加标记点。例如,添加一个标记点并设置其位置和标题: ```java LatLng latLng = new LatLng(39.90923, 116.397428); MarkerOptions markerOptions = new MarkerOptions() .position(latLng) .title("Marker Title"); aMap.addMarker(markerOptions); ``` 5. 显示定位蓝点:可以通过调用AMap对象的setMyLocationEnabled()方法开启定位蓝点功能,并在地图上显示当前位置。例如,在Activity中添加以下代码: ```java // 在onCreate()方法中 aMap.setMyLocationEnabled(true); // 在onDestroy()方法中 aMap.setMyLocationEnabled(false); ``` 6. 添加地图交互功能:可以通过调用AMap对象的方法,实现地图的手势操作、地图事件监听等功能。例如,设置地图的缩放手势和地图点击事件监听: ```java // 设置地图的缩放手势 aMap.getUiSettings().setZoomGesturesEnabled(true); // 设置地图点击事件监听 aMap.setOnMapClickListener(new AMap.OnMapClickListener() { @Override public void onMapClick(LatLng latLng) { // 处理地图点击事件 } }); ``` 以上是Android高德地图的综合应用的一些基本内容,你可以根据具体需求进一步扩展和定制。如果你有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值