当前位置:首页 > 代码 > 正文

api百度地图的代码(百度地图api自定义地图)

admin 发布:2022-12-19 04:21 104


今天给各位分享api百度地图的代码的知识,其中也会对百度地图api自定义地图进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

百度地图api获取代码怎么使用

1)下载百度地图移动版API(Android)开发包

要在Android应用中使用百度地图API,就需要在工程中引用百度地图API开发包,这个开发包包含两个文件:baidumapapi.jar和libBMapApiEngine.so。

2)申请API Key 和使用Google map api一样,在使用百度地图API之前也需要获取相应的API Key。百度地图API Key与你的百度账户相关联,因此您必须先有百度帐户,才能获得API

Key;并且,该Key与您引用API的程序名称有关。

百度API Key的申请要比Google的简单多了,其实只要你有百度帐号,应该不超过30秒就能完成API Key的申请。

3)创建一个Android工程

这里需要强调一点:百度地图移动版api支持Android 1.5及以上系统,因此我们创建的工程应基于Android SDK 1.5及以上。 工程创建完成后,将baidumapapi.jar和libBMapApiEngine.so分别拷贝到工程的根目录及libs/armeabi目录下,并在工程属性-Java Build Path-Libraries中选择“Add JARs”,选定baidumapapi.jar,这样就可以在应用中使用百度地图API了。工程完整的目录结构如下图所示:

4)在布局文件中添加地图控件(res/layout/main.xml)

5)创建Activity继承com.baidu.mapapi.MapActivity

package com.liufeng.baidumap;

import android.graphics.drawable.Drawable;

import android.os.Bundle;

import com.baidu.mapapi.BMapManager;

import com.baidu.mapapi.GeoPoint;

import com.baidu.mapapi.MapActivity;

import com.baidu.mapapi.MapController;

import com.baidu.mapapi.MapView;

public class MainActivity extends MapActivity {

private BMapManager mapManager;

private MapView mapView;

private MapController mapController;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

// 初始化MapActivity

mapManager = new BMapManager(getApplication());

// init方法的第一个参数需填入申请的API Key

mapManager.init("285B415EBAB2A92293E85502150ADA7F03C777C4", null);

super.initMapActivity(mapManager);

mapView = (MapView) findViewById(R.id.map_View);

// 设置地图模式为交通地图

mapView.setTraffic(true);

// 设置启用内置的缩放控件

mapView.setBuiltInZoomControls(true);

// 用给定的经纬度构造一个GeoPoint(纬度,经度)

GeoPoint point = new GeoPoint((int) (47.118440 * 1E6), (int) (87.493147 * 1E6));

// 创建标记maker

Drawable marker = this.getResources().getDrawable(R.drawable.iconmarka);

// 为maker定义位置和边界

marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());

// 取得地图控制器对象,用于控制MapView

mapController = mapView.getController();

// 设置地图的中心

mapController.setCenter(point);

// 设置地图默认的缩放级别

mapController.setZoom(12);

}

@Override

protected boolean isRouteDisplayed() {

return false;

}

@Override

protected void onDestroy() {

if (mapManager != null) {

mapManager.destroy();

mapManager = null;

}

super.onDestroy();

}

@Override

protected void onPause() {

if (mapManager != null) {

mapManager.stop();

}

super.onPause();

}

@Override

protected void onResume() {

if (mapManager != null) {

mapManager.start();

}

super.onResume();

}

}

6)在AndroidManifest.xml中配置

?xml version="1.0" encoding="utf-8"?

manifest xmlns:android="

package="com.liufeng.baidumap"

android:versionCode="1"

android:versionName="1.0"

application android:icon="@drawable/icon" android:label="@string/app_name"

activity android:name=".MainActivity" android:label="@string/app_name"

intent-filter

action android:name="android.intent.action.MAIN" /

category android:name="android.intent.category.LAUNCHER" /

/intent-filter

/activity

/application

uses-sdk android:minSdkVersion="4" /

uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /

uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /

uses-permission android:name="android.permission.INTERNET" /

uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /

uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /

uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /

uses-permission android:name="android.permission.READ_PHONE_STATE" /

/manifest

如何在网页中调用百度地图api

1.进入:/wiki/static/map/API/tool/creatMap/ (创建地图-百度地图API所见即所得工具,百度官方地址,大家放心使用)切换城市,搜索需标注位置。(如下图:)设置地图:大家可以对网站显示地图的宽高进行设置,其余选项不动。添加标注:点击第一个图标后,在右侧找到自己的位置,单击鼠标左键可定位。标记图标处可更换图标形状,名称和备注填入位置相关信息。(如下图:)步骤阅读完成以上4步后,点获取代码。获取代码如下:(注意:通常我们在网页中只要插入以下代码,小虫标注出来,其余的可不用。)1.在间插入下面代码:这是样式和JS脚本。 html,body{margin:0;padding:0;} .iw_poi_title {color:#CC5522;font-size:14px;font-weight:bold;overflow:hidden;padding-right:13px;white-space:nowrap} .iw_poi_content {font:12px arial,sans-serif;overflow:visible;padding-top:4px;white-space:-moz-pre-wrap;word-wrap:break-word}2.在间需要显示地图的位置放入以下代码:(该代码调用地图) 3.以下代码放在页面最底端(其实可放在页面任意位置。) 当然,如果你想偷懒,将以上对应代码全放在间也是没问题的,呵呵。如何在网页中调用百度地图api

百度地图API基本使用(三)

PS:我所使用的的是百度地图Javascript API 3.0

本文是对之前使用的延续,继续对百度地图API的一些使用去做归纳和总结,本次主要是对地图上的事件以及路线规划做下一下介绍,如果有小伙伴没有看过之前的百度地图API基本使用(一),百度地图API基本使用(二),可以先去观看一下,前期所需要的一些准备,以及一些基本的用法。

感兴趣的小伙伴可以自行查看百度地图官方提供的文档

百度地图开放平台开发文档中的JavaScript API

也可以通过下方示例中心更直观地看到百度地图API的一些使用,以及它的一些特性

百度地图开放平台-示例中心

想深入研究百度地图avaScript API 3.0方法参数信息的话,可以通过下方类参考

百度地图avaScript API v3.0类参考

另外不同版本的API可以自行在开发文档中的类参考类目中找到,请自行查找

不过要注意:实例中心使用的是BMap去创建容器的,最新版GL地图命名空间为BMapGL, 可按住鼠标右键控制地图旋转、修改倾斜角度。

BMapGL在引入API的方式如下:

BMap在引入API的方式如下:

按照你自己的需求去引用

好的,废话不多说,开整

1.地图加载完成事件 这个事件顾名思义就是在地图加载完成之后会调用这个事件,我们可以去做一些操作。

实现的效果就是在地图加载完成之后,会弹出地图加载完成的提示!实际应用的时候可以能就会涉及到一些基于地图的初始化操作。具体情况具体分析,就不做过多赘述了。

2.地图单击事件 这个事件顾名思义就是在当我们鼠标点击地图上的时候,就会触发这个事件。

我们实现的这个就是单击地图的时候就会触发,可以获取到这个点的经纬度等信息。以及我们之前有介绍的覆盖物的一些触发事件,基本上都是使用的是这个单击事件,使用addEventListener监听click去实现的,这个方法还有监听别的事件,就不一一举例了,给大家看一下有哪些事件可以监听,这些都是从官方提供的类参考中找到的。

3.注销事件 这个注销方法也比较简单,上一个点击事件我们使用的是addEventListener监听click去实现的,这个注销实际上就是移除这个事件,类似于之前的删除覆盖类都是使用的remove这个字段,对应的就是removeEventListener监听click去删除这个点击事件实现的。

如果想研究比较详细的地图事件的小伙伴可以自行查看研究

事件-地图事件

1.覆盖物鼠标事件 这个覆盖物鼠标事件实质就是地图的点击事件,只不过对象换成了覆盖物对象,本质都是使用addEventListener去监听事件的发生。

创建一个点和一个面覆盖物,然后去给这两个覆盖物添加鼠标点击事件

如果想研究比较详细的覆盖物事件的小伙伴可以自行查看研究

事件-覆盖物事件

首先说明一下这个路线规划分为4种,分别是驾车路线规划,公交路线规划,步行路线规划,以及骑行路线规划,使用的类是不一样的,我们一起来看一看。

1.基础驾车路线规划服务示例:

代码如下:

2.数据接口

驾车导航服务也提供了丰富的数据接口,通过onSearchComplete回调函数可以得到BMap.DrivingRouteResult对象,它包含了驾车导航结果数据信息。 结果会包含若干驾车方案,每条方案中包含了若干驾车线路。 每条驾车线路又会包含一系列的关键步骤(BMap.Step),关键步骤描述了具体驾车行驶方案。

BMap.TransitRoute类提供公交线路规划服务。

注意:v3.0中,新增了TransitRoutePlan.getTotal 和 TransitRoutePlan.getTotalType方法,可以获取一条公交换乘方案中总路段数(步行+公交),和指定路段的交通方式类型(步行或公交)。

1.使用服务示例

代码如下:

2.进行跨城路线规划

代码如下:

BMap.WalkingRoute提供步行线路规划服务。基本用法和驾车线路规划类似。

使用服务示例

代码如下:

BMap.RidingRoute提供骑行线路规划服务,基本用法和步行线路规划基本相同。

使用服务示例

代码如下:

感兴趣的小伙伴可以自行去研究

百度地图Javascript API 3.0 出行路线规划 百度地图JS API示例 路线规划

感谢诸君的观看,文中如有纰漏,欢迎在评论区来交流。如果这篇文章帮助到了你,欢迎点赞和关注。

如何使用百度地图API自动获取地址和经纬度

1、HTML代码如下

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""  

html xmlns=""  

head  

    title点击地图获取地址和经纬度map,address,lng,lat/title  

    meta name="robots" content="noindex, nofollow"  

    meta http-equiv="Content-Type" content="text/html; charset=utf-8"/  

    !-- 将百度地图API引入,设置好自己的key --  

    script type="text/javascript" src=";ak=7a6QKaIilZftIMmKGAFLG7QT1GLfIncg"/script  

/head  

body  

  

div class="main-div"  

    form method="post" action="" name="theForm" enctype="multipart/form-data" onsubmit="return validate()"  

        table cellspacing="1" cellpadding="3" width="100%"  

            tr  

                td class="label"经度/td  

                tdinput type="text" name="lng" id="lng" value=""/  

                /td  

            /tr  

            tr  

                td class="label"纬度/td  

                tdinput type="text" name="lat" id="lat" value=""/  

                /td  

            /tr  

            tr  

                td class="label"地址/td  

                td  

                    input type='text' value='' name='sever_add' id='sever_add' readonly  

                    input type='button' value='点击显示地图获取地址经纬度' id='open'  

                /td  

            /tr  

        /table  

    /form  

    div id='allmap' style='width: 50%; height: 50%; position: absolute; display: none'/div  

/div  

/body  

/html

2、JS代码如下

script type="text/javascript"  

    function validate() {  

        var sever_add = document.getElementsByName('sever_add')[0].value;  

        if (isNull(sever_add)) {  

            alert('请选择地址');  

            return false;  

        }  

        return true;  

    }  

  

    //判断是否是空  

    function isNull(a) {  

        return (a == '' || typeof(a) == 'undefined' || a == null) ? true : false;  

    }  

  

    document.getElementById('open').onclick = function () {  

        if (document.getElementById('allmap').style.display == 'none') {  

            document.getElementById('allmap').style.display = 'block';  

        } else {  

            document.getElementById('allmap').style.display = 'none';  

        }  

    }  

  

    var map = new BMap.Map("allmap");  

    var geoc = new BMap.Geocoder();   //地址解析对象  

    var markersArray = [];  

    var geolocation = new BMap.Geolocation();  

  

  

    var point = new BMap.Point(116.331398, 39.897445);  

    map.centerAndZoom(point, 12); // 中心点  

    geolocation.getCurrentPosition(function (r) {  

        if (this.getStatus() == BMAP_STATUS_SUCCESS) {  

            var mk = new BMap.Marker(r.point);  

            map.addOverlay(mk);  

            map.panTo(r.point);  

            map.enableScrollWheelZoom(true);  

        }  

        else {  

            alert('failed' + this.getStatus());  

        }  

    }, {enableHighAccuracy: true})  

    map.addEventListener("click", showInfo);  

  

  

    //清除标识  

    function clearOverlays() {  

        if (markersArray) {  

            for (i in markersArray) {  

                map.removeOverlay(markersArray[i])  

            }  

        }  

    }  

    //地图上标注  

    function addMarker(point) {  

        var marker = new BMap.Marker(point);  

        markersArray.push(marker);  

        clearOverlays();  

        map.addOverlay(marker);  

    }  

    //点击地图时间处理  

    function showInfo(e) {  

        document.getElementById('lng').value = e.point.lng;  

        document.getElementById('lat').value =  e.point.lat;  

        geoc.getLocation(e.point, function (rs) {  

            var addComp = rs.addressComponents;  

            var address = addComp.province + addComp.city + addComp.district + addComp.street + addComp.streetNumber;  

            if (confirm("确定要地址是" + address + "?")) {  

                document.getElementById('allmap').style.display = 'none';  

                document.getElementById('sever_add').value = address;  

            }  

        });  

        addMarker(e.point);  

    }  

/script

将js代码放入到html中,我们可以得到效果图如下:

api百度地图的代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于百度地图api自定义地图、api百度地图的代码的信息别忘了在本站进行查找喔。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/2307.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载