zoukankan      html  css  js  c++  java
  • 百度地图API简单应用

          在做移动端应用时经常用到百度地图API,百度API有强大的示例和文档,开发之前去百度相关网站注册密钥,很块博主只花了几分钟

    百度地图API范例

    百度地图API文档说明

    例子1:输入特定关键字绘制地图标识结果:

    先实例化需要的类

        // 创建Map实例
        var map = new BMap.Map("l-map");   
        var localSearch = new BMap.LocalSearch(map);

    注册事件

     $("#btnSearch").click(function () {
                var content = $("#txtSearch").val();
                searchByStationName(content);
    
            });

    函数

    //通过关键字查询经纬度
        function searchByStationName(searchContent) {
            map.clearOverlays();//清空原来的标注
            //要查找的内容
            var keyword = searchContent;
            localSearch.setSearchCompleteCallback(function (searchResult) {
                //获得需要得到的坐标
                var poi = searchResult.getPoi(0);
                if (!poi)
                {
                    alert("百度API没有搜索到该地址");
                }
                //设置中心点
                map.centerAndZoom(poi.point, 13);
                // 创建标注,为要查询的地方对应的经纬度
                var marker = new BMap.Marker(new BMap.Point(poi.point.lng, poi.point.lat));
                //在地图上添加标识
                map.addOverlay(marker);
                //点击标识后显示的内容
                var content = "你要查找的地方<br/><br/>经度:" + poi.point.lng + "<br/>纬度:" + poi.point.lat;
                //定义信息窗口
                var infoWindow = new BMap.InfoWindow("<p style='font-size:14px;'>" + content + "</p>");
                //添加点击事件监听
                marker.addEventListener("click", function () { this.openInfoWindow(infoWindow); });         
            });
            localSearch.search(keyword);
        }

    效果:

    例子2:将标识的颜色改为蓝色

          其实这个是个很简单的功能,只是在API界面我没找到,那好吧自己写个例子

     // 创建Map实例
            var map = new BMap.Map("l-map");
            //获取当前浏览器坐标
            var geolocation = new BMap.Geolocation();
            //获得当前浏览器在百度地图上的经纬度
            geolocation.getCurrentPosition(function (r) {
                //获取成功
                if (this.getStatus() == BMAP_STATUS_SUCCESS) {
                    //创建图标
                    var myIcon = new BMap.Icon("http://api.map.baidu.com/img/markers.png", new BMap.Size(23, 25), {
                        offset: new BMap.Size(10, 25),
                        imageOffset: new BMap.Size(0, 0 - 10 * 25)
                    });
                    //创建标识
                    var mk = new BMap.Marker(r.point, { icon: myIcon });
                    //将标识加入地图
                    map.addOverlay(mk);              
                    //设置中心点
                    map.centerAndZoom(new BMap.Point(r.point.lng,r.point.lat), 13);

    其实关键就是这句

    效果如下

    这是因为其实这就是一个png的图片

    所以如果不喜欢蓝色的标识 只需要将参数10 替换其他即可

  • 相关阅读:
    1. Deep Q-Learning
    Ⅶ. Policy Gradient Methods
    Ⅴ. Temporal-Difference Learning
    idea在service窗口中显示多个服务
    pycharm下运行flask框架的脚本时报错
    windows下部署 flask (win10+flask+nginx)
    pip install selenium报错解决方法
    pip 及 selenium安装命令
    动作捕捉系统用于模仿学习
    柔性微创手术机器人性能实验验证
  • 原文地址:https://www.cnblogs.com/CallmeYhz/p/5894710.html
Copyright © 2011-2022 走看看