webapp定位

<!doctype html>
<html>

    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
        <title>浏览器定位</title>
        <!-- <link rel="stylesheet" href="../css/mui.min.css"> -->
        <script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.2&key=57b9a64879a0cb02484a816273301b73"></script>

        <body>
            <div id="local" style="margin-top: 5rem;"></div>
            <script type="text/javascript">
                map = new AMap.Map('', {
                    resizeEnable: true
                });
                map.plugin('AMap.Geolocation', function() {
                    geolocation = new AMap.Geolocation({
                        enableHighAccuracy: true, //是否使用高精度定位,默认:true
                        timeout: 10000, //超过10秒后停止定位,默认:无穷大
                        buttonOffset: new AMap.Pixel(10, 20), //定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20)
                        zoomToAccuracy: true, //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false
                        buttonPosition: 'RB'
                    });
                    map.addControl(geolocation);
                    geolocation.getCurrentPosition();
                    AMap.event.addListener(geolocation, 'complete', onComplete); //返回定位信息
                    AMap.event.addListener(geolocation, 'error', onError); //返回定位出错信息
                });
                //解析定位结果
                function onComplete(data) {
                    //逆地理编码
                    AMap.service('AMap.Geocoder', function() { //回调函数
                        //实例化Geocoder
                        geocoder = new AMap.Geocoder({
                            city: "010" //城市,默认:“全国”
                        });
                        var lnglatXY = [data.position.getLng(), data.position.getLat()]; //地图上所标点的坐标
                        geocoder.getAddress(lnglatXY, function(status, result) {
                            if(status === 'complete' && result.info === 'OK') {
                                document.getElementById('local').innerHTML = result.regeocode.formattedAddress;
                            } else {
                                //获取地址失败
                                document.getElementById('local').innerHTML = "获取地址失败";
                            }
                        });
                    })
                }
                //解析定位错误信息
                function onError(data) {
                    document.getElementById('local').innerHTML = '定位失败' + data.info + "_" + data.message;
                }
            </script>
        </body>
        <!-- <script src="../js/mui.min.js"></script> -->

</html>
原文地址:https://www.cnblogs.com/ldlx-mars/p/8535080.html