欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

【Android】第3章(1)百度地图及其应用--预备知识

程序员文章站 2022-04-01 09:56:50
...

分类:C#、Android、VS2015、百度地图应用; 创建日期:2016-02-04 一、概述 这一章先来点有意思的百度地图应用示例,然后再分章详细介绍用C#开发Android App的各种基本技术。 本章以百度官网2016年1月发布的地图API(3.7.1版)为例,演示如何用C#和VS2015编

分类:C#、Android、VS2015、百度地图应用; 创建日期:2016-02-04

一、概述

这一章先来点有意思的百度地图应用示例,然后再分章详细介绍用C#开发Android App的各种基本技术。

本章以百度官网2016年1月发布的地图API(3.7.1版)为例,演示如何用C#和VS2015编写百度地图应用程序,这些示例程序既可以在Android 6.0的x86模拟器中运行,也可以发布到Android 4.0以上版本的手机中测试实际运行的效果。

1、下载官网提供的Demos

首先访问下面的网址:

http://developer.baidu.com/map/

打开网页后,选择【开发】à【Andoid开发】下的第1项“Android地图SDK”,单击该网页中的【相关下载】,就会出现下面的界面:

【Android】第3章(1)百度地图及其应用--预备知识

单击【自定义下载】,在弹出的界面中,除了导航功能外,其他全部选中,然后将其下载到本机中,并解压到某个文件夹下,以便后续的步骤使用它。

2、使用Gaxaxy_Api23_x86模拟器观察运行结果

为了解决MapView使用硬件加速时存在的问题,百度提供了一个TextureMapView控件,使用此控件呈现地图时,要求修改模拟器的开发者选项。

要使用TextureMapView显示百度地图,需要满足下面的条件:

  • 将所有官方示例中的MapView全部改为用TextureMapView控件来呈现。
  • 修改模拟器的开发者选项,将其设置为允许模拟器“强制进行GPU渲染”(如下图所示)。

【Android】第3章(1)百度地图及其应用--预备知识

这两个条件都满足后,百度地图才能顺利显示出来。

好了,以后也不需要忍受没有硬件加速的ARM模拟器那个特别的“慢”了,后面的例子将继续用带硬件加速的x86模拟器来演示。

当然也可以直接用手机调试运行(这是建议的调试办法,手机连上电脑后可直接在debug右侧的下拉框中看到该手机的选项,用这种办法调试地图应用程序也更符合实际。但是,由于手机调试截图麻烦,所以这里还是直接用模拟器来演示了。

二、创建BdMapV371BindingLib解决方案

解决方案和项目名:BdmapV371BindingLib

模板:Bindings Library(Android)

创建绑定库的目的是将百度地图SDK 3.7.1版本的所有.jar文件自动转换为.cs文件并生成对应的.dll文件,转换以后,就可以在应用项目中引用生成的.dll文件了。

这也是转换.jar文件为.cs文件最常用的办法。

1、添加JAR文件

将以下文件复制到项目的jars文件夹下,并将这些文件的【生成操作】属性全部改为“EmbeddedJar”。

BaiduLBS_Android.jar

IndoorscapeAlbumPlugin.jar

2、添加最新稳定版Xamarin.Android.Support.v4的引用

鼠标右击【引用】à【管理NuGet程序包】,添加最新稳定版Xamarin.Android.Support.v4的引用,本人添加的是Xamarin.Android.Support.v4.23.1.1.0。

3、修改Metadata.xml文件

打开Transforms文件夹下的Metadata.xml文件,将其改为下面的内容:

"