`
Turbo12138
  • 浏览: 45193 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

高德地图定位兼搜索

 
阅读更多

这几天一直忙着写高德地图的定位兼搜索功能,现在有点眉目了,但还是偶尔会出bug,希望大家有所借鉴,但更希望给提点建议微笑,不知好不好

 

我的缺点就是把三个地图整合到一块去了,分开写我实在不会,以后会的话一定分享…………

 

大家有想尝试的得去高德API注册一个密钥,也就是key,我这里是ada0145080deff882d2a28e8af2047ad

<!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>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"></script>
    <script src="../API/jquery-2.1.4.min.js"></script>
    <script type="text/javascript"
            src="http://webapi.amap.com/maps?v=1.3&key=ada0145080deff882d2a28e8af2047ad&plugin=AMap.Autocomplete,AMap.PlaceSearch"></script>
    <link rel="stylesheet" type="text/css" href="../API/Api.css">
</head>
<body>
<div class="box_dis">
    <input class="search" id="tipinput"/>
</div>
<div class="distance">
    <div id="container"></div>
</div>
<div class="scroll" id="view">
    <div id="panel"></div>
</div>
<div id="containe"></div>
<!--<div id="container"></div>-->
<script type="text/javascript">
       window.onload = function () {

        getLocation()
        displayPOI()
    }
    function getLocation() {
        if (navigator.geolocation) {
            navigator.geolocation.getCurrentPosition(showPosition);
        }
    }
    function showPosition(position) {
        var obj_info = {latitude: position.coords.latitude, longitude: position.coords.longitude};
        localStorage.setItem("info", JSON.stringify(obj_info));

    }
    var map, geolocation;
    //加载地图,调用浏览器定位服务
    map = new AMap.Map('container', {
        resizeEnable: true
    });
    $('.amap-logo').css('display','none');
    $('.amap-copyright').css('display','none');
    map.plugin('AMap.Geolocation', function () {
        geolocation = new AMap.Geolocation({
            enableHighAccuracy: true,//是否使用高精度定位,默认:true
            timeout: 10000,          //超过10秒后停止定位,默认:无穷大
            buttonOffset: new AMap.Pixel(10, 10),//定位按钮与设置的停靠位置的偏移量,默认: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);      //返回定位出错信息
    });
    var autoOptions = {
        input: "tipinput"
    };
    var auto = new AMap.Autocomplete(autoOptions);
    var placeSearch = new AMap.PlaceSearch({
        map: map
    });  //构造地点查询类
    AMap.event.addListener(auto, "select", select);//注册监听,当选中某条记录时会触发
    function select(e) {
        placeSearch.setCity(e.poi.adcode);
        placeSearch.search(e.poi.name);  //关键字查询查询
    }
    var dress = JSON.parse(localStorage.getItem("info"))
    var map = new BMap.Map("containe");
    var mPoint = new BMap.Point(dress.longitude, dress.latitude);
    map.centerAndZoom(mPoint, 15);
    map.enableScrollWheelZoom();        //启用滚轮缩放
    var mOption = {
        poiRadius: 2500,           //半径为1000米内的POI,默认100米
        numPois: 20              //列举出50个POI,默认10个
    }
    var myGeo = new BMap.Geocoder();        //创建地址解析实例
    function displayPOI() {
        map.addOverlay(new BMap.Circle(mPoint, 0));        //添加一个圆形覆盖物
        myGeo.getLocation(mPoint,
                function mCallback(rs) {
                    var allPois = rs.surroundingPois;       //获取全部POI(该点半径为100米内有6个POI点)
                    for (i = 0; i < allPois.length; ++i) {
                        document.getElementById("panel").innerHTML += "<div class='list' id="+allPois[i].title+"><div class='site'>" + allPois[i].title +"</div><div class='site_down'>" + allPois[i].address + "</div><span class='right'><img class='tex'  src='../API/outstyle091100004.jpg' id="+allPois[i].title+"></span></div></div>";
                        map.addOverlay(new BMap.Marker(allPois[i].point));
                        $('.anchorBL').css('display','none');
                    }
                }, mOption
        );
    }
</script>
</body>
</html> 

 

分享到:
评论

相关推荐

    解决高德地图锁屏黑屏定位不更新,高德地图绘制定位轨迹,高德定位判断定位停留点,高德地图将所有坐标绘制在可视区域内

    解决高德地图锁屏黑屏定位不更新,高德地图绘制定位轨迹,高德定位判断定位停留点,高德地图绘制弹出框等内容。高德地图将所有坐标绘制在可视区域内,本程序作为向高德地图申请高德LBS开发平台开发者认证证书的做业...

    vue+高德地图实现地图搜索及点击定位操作

    最近有个需求是实现一个使用地图搜索定位的功能,在网上参考了下其他的文章,感觉不是很完善,自己整理了一下,可以实现点击定位,搜索列表定位等功能,可能有些地方是多余的,需要的自己看着改下 [removed]...

    mapdemo高德地图定位搜索

    在iOS开发中,集成高德地图API可以实现各种丰富的地图功能,如定位、搜索和标注等。"mapdemo"是一个示例项目,它演示了如何在iOS应用中使用高德地图SDK来实现实时定位并进行精确的地图搜索。下面将详细讲解其中涉及...

    高德地图定位SDK

    《高德地图定位SDK详解与应用实践》 高德地图定位SDK是高德地图提供的一款强大的定位服务开发工具,主要用于移动应用中实现精准、高效的位置服务。它集成了多种定位方式,包括GPS、网络基站、WiFi等,为开发者提供...

    纠正高德地图定位位置偏差案例

    纠正高德地图定位位置偏差案例,只需要自己在高德开发中心申请的key替换到我的key,一运行就会弹出alert&#40;经纬度&#41;

    高德地图定位检索导航

    在IT行业中,高德地图是一款广泛应用的导航软件,它提供了丰富的地图服务,包括地图使用、定位功能、检索功能以及导航功能。以下是对这些关键知识点的详细解析: **地图使用** 地图使用是高德地图的基础功能,它...

    高德地图集成定位和根据地址搜索经纬度进行定位功能

    集成高德地图定位功能,首先需要在AndroidManifest.xml或Info.plist(iOS)中添加必要的权限和配置。Android需要添加访问网络和位置的权限,iOS需要设置Privacy权限。然后,在初始化应用程序时,调用高德地图SDK的...

    安卓高德地图定位功能

    总的来说,这个“安卓高德地图定位功能”项目展示了如何在安卓应用中集成高德地图,实现实时定位、点击marker显示位置以及3D地图效果。通过这个示例,开发者可以学习到高德地图API的基本用法,为进一步开发地图相关...

    高德地图定位导航

    《高德地图定位导航技术详解》 高德地图作为国内知名的在线地图服务提供商,其定位导航功能在日常生活和工作中扮演着重要角色。本篇将深入探讨高德地图的定位导航技术,帮助读者理解其实现原理及其在实际应用中的...

    JS基于高德地图定位城市闪烁特效.zip

    以上就是实现JS基于高德地图定位城市闪烁特效的基本步骤。你可以根据需要进行二次修改,比如调整闪烁速度、改变标记样式等,以适应不同的项目需求。这个特效结合了jQuery(尽管在这个案例中未直接使用)、CSS特效和...

    高德地图定位、周边搜索、位置弹框、添加覆盖物等功能

    本项目聚焦于“高德地图定位、周边搜索、位置弹框、添加覆盖物”等核心功能,允许开发者实现自定义定位、覆盖物管理以及交互事件处理,从而创建出更加个性化的地图应用。 首先,高德地图的定位功能是基础,它能够...

    Android-TraceByAmap-自定义算法纠偏高德地图定位

    本项目"Android-TraceByAmap-自定义算法纠偏高德地图定位"正是针对高德地图定位进行优化,特别是针对GPS定位偏差问题,通过自定义算法实现轨迹纠偏功能。 GPS定位本身存在误差,主要是由于信号干扰、多路径效应以及...

    高德地图定位小demo

    本示例“高德地图定位小demo”聚焦于使用高德地图API实现定位功能,下面将详细介绍高德地图定位服务的关键知识点,并结合描述中的“key别名test,密码123456”来探讨API的授权机制。 首先,高德地图是一款由阿里巴巴...

    Android高德地图POI搜索地点Demo

    高德地图API提供了丰富的接口,允许开发者在Android应用中嵌入地图、进行定位、搜索地点、规划路径等。在POI搜索方面,API提供了关键字搜索、范围搜索等多种方式,帮助用户找到所需的地理位置信息。 在...

    android高德地图封装工具类

    android高德地图封装工具类地图定位,绘制路径等等android高德地图封装工具类地图定位,绘制路径等等android高德地图封装工具类地图定位,绘制路径等等android高德地图封装工具类地图定位,绘制路径等等android高德...

    安卓高德地图实时定位方法的封装

    在安卓应用开发中,集成地图服务是常见的需求之一,高德地图SDK提供了丰富的功能,包括实时定位。本篇文章将深入探讨如何使用高德地图SDK来实现一个简单的实时定位功能,并进行方法封装,使得代码更加模块化,易于...

    高德地图定位+围栏

    在IT行业中,"高德地图定位+围栏"是一个基于地理位置服务的重要应用场景,它结合了高德地图API和地理围栏技术,广泛应用于各种需要精确位置监控和管理的场合,如物流跟踪、智能交通、资产管理等。下面将详细介绍这一...

    android 高德地图定位 可拖动改变位置(二)

    在Android开发中,集成高德地图并实现定位功能是一项常见的任务。本文将深入探讨如何在Android应用中实现实时定位,并允许用户通过拖动地图来改变显示的位置,从而模拟类似微信中的位置分享功能。我们将主要关注以下...

    高德地图实现定位 获取周边 拖动 搜索

    高德地图作为国内知名的数字地图服务平台,提供了丰富的API和SDK,使得开发者能够轻松地在其应用中集成地图功能,如定位、获取周边信息、拖动地图以及搜索等功能。本文将深入探讨如何利用高德地图API实现这些功能。 ...

    vue使用elementui结合高德地图的定位以及位置显示

    在Vue.js应用中,ElementUI是一个非常流行的前端组件库,提供了丰富的UI元素和交互设计,而高德地图则是一款强大的地图服务提供商,提供地图展示、定位、路线规划等功能。将ElementUI与高德地图结合,可以创建出具有...

Global site tag (gtag.js) - Google Analytics