http://lemberg.github.io/mappwidget/user_guide.html 最近在看一些导游类应用,发现一些景区的导览图使用的完全是自定义地图,也就是手绘地图.这种小范围使用的,专业的地图给人以亲切的感觉.但是他们是如何实现的呢,网上找了找实现思路,都没有太满意的. 在一家英国的网站上,发现了一个类库,可以实现类似的功能.试了一下它提供的demo,发现功能强大的超过了我的预期.在这里分享给大家,希望给大家提供一个思路吧.  翻译的有不准确的地方,请见谅. 大家先看看中…
首先,你在Eclispe开发环境中新建一个项目:然后,可以通过Eclispe项目管理工具把这个项目集成到你的app项目中.下面手册会手把手教你如何正确创建一个地图对象. 第一: 新建一个新的Anroid项目   第二:(注意项目细节) 设置项目名称 核对“Create new project in workspace”单选按钮是否选择 选择“Build Target” 检查和命名“Create activity” 设置“Min SDK Version”版本  注:其中Eclispe中的按钮或名词…
使用切图工具创建不同名称的地图资源.然后将这些资源放置到assert文件夹内. 像下面这样: 在代码中,根据不同的地图名称,查找地图. map = new MapWidget(this, "map", initZoomLevel); or map = new MapWidget(this, "map2", initZoomLevel);…
为了将地图对象放置到某个特殊的地理位置上,你需要: 1. 创建地图对象 2.添加地图对象到图层(任何位置) 3. 移动该地图对象,使用 MapObject.moveTo(Location location) 方法 示例代码: private void addPOI() { Layer layer = map.getLayerById(SPORTS_LAYER); int objectId = 0; Drawable drawable = getResources().getDrawable(R.…
一般来说,可以使用以下几种方式来控制地图的放大/缩小 : 1. 使用控件底部的缩放按钮 2.双击控件 3.pinch手势 4.物理按键 :I键标识缩小  :O键表示放大.(只有设备具有物理按键才行) 当然,你也可以使用自己的按钮实现放大和缩小 缩小一个地图级别,调用: mapWidget.zoomIn(); 增加一个地图级别,调用: mapWiget.zoomOut(); 获取当前地图级别,调用: mapWidget.getZoomLevel(); 地图级别还可以在初始化MapWidget 时,…
地图资源可以通过Slicing Tool工具生成,教程如下: 1.打开Eclipse标准版4.3.2,以Java项目形式导入”slicingtool“项目,运行.(必须是eclipse4.3.2及以上版本,不然会少包而报错) 2.此时会新启一个eclipse,在新的里面widow-->show view-->mAppWidget-->Map Slicing Tool,打开窗口: 选择被切块格数大小(一般建议256格) 如果你想使用地图的GPS特点,填写校正数据 Export后,会得到一个…
你可以使用以下几个方法: MapWidget.scrollMapTo(android.location.Location location); MapWidget.scrollMapTo(android.graphics.Point position); MapWidget.scrollToCurrentLocation(); MapWidget.jumpTo(android.location.Location location); MapWidget.jumpTo(android.graphi…
这个很简单,想要显示或隐藏任意类型的地图对象,首先要对地图对象进行分类.不同类型的地图对象放置到不同的地图图层上,然后控制地图图层的显示/隐藏即可. 实例: Layer sportsLayer = mapWidget.getLayerById(SPORTS_LAYER); sportsLayer.setVisible(true); // Shows the layer sportsLayer.setVisible(false); // Hides the layer…
若显示当前用户位置,你需要执行以下步骤: 1.添加ACCESS_COARSE_LOCATION 和ACCESS_FINE_LOCATION权限在AndroidManifest.xml中 2.用mapWidget.setShowMyPosition(true)来显示当前用户的位置 得出的结果是,你应该看到地图上的位置标记: 如何改变位置指针指向的方式? 位置标记组成成分:圆圈指针.箭头指针.精确区域以及精确区域的边框.你可以改变标记的每个元素. 为了改变标记的每个元素,你需要执行以下步骤: 1.获…
为了展示选中的点,你需要完成以下步骤: 1.创建或者获得一个已经存在的图层 2.创建代表选中点的地图对象 3.把地图对象添加到图层 创建新图层 使用以下代码片段创建图层 int COFFEE_SHOPS_LAYER = 1; Layer layer = mapWidget.createLayer(COFFEE_SHOPS_LAYER); 根据索引或者ID获得一个已经存在的图层 int COFFEE_SHOPS_LAYER = 1; Layer layer = mapWidget.getLayer…
如何把javadoc添加到代码库中? How to attach javadoc to the library? 项目属性——>Java Build Path——>Libraries.选择mappwidget的javaDoc位置,然后点击Edit 选择“Javadoc in archive” 单选按钮 选择“Workspace file” 单选按钮 在“Archive path”编辑区域中写上mappwidget.jar的路径 在“Path within archive”编辑区域输入“java…
离线地图是一张被切成类似瓷砖般格子图像组成,这些被切开的格子组织成多个缩放级别.缩放级别是从0开始.0这个缩放级别,地图图像的尺寸为1*1像素.在每下一个缩放级别,图像尺寸则会两倍递增. 每个地图都是有层和地图对象的. 层是一个抽象的东西,它用来存放地图对象.层可见或不可见.如果层是不可见的,那么存放此层中的地图对象在地图上也是不可见的. 地图对象是可以在地图上显示的对象,其中绘制对象可以用来显示地图对象.地图对象可以添加到任何层,并且对象坐标是以像素为单位. 为了定义一个对象的位置,坐标用原本…
最好的处理方式就是弹出一个对话框,将用户触摸过的控件罗列出来.你可以通过实现OnMapTouchListener来处理. 参考以下代码,实现上述功能: mapWidget.setOnMapTouchListener(new OnMapTouchListener() { public void onTouch(MapWidget map, MapTouchedEvent event) { List objectTouchEvents = event.getTouchedObjectIds(); /…
为了在放大前后执行一些操作,你需要添加MapEventsListener 的实例到MapWidget,使用MapWidget.removeMapEventsListener移除该监听器. mapWidget.addMapEventsListener(new MapEventsListener() { public void onPreZoomOut() { // You can hide your map object's pop-up here } public void onPreZoomI…
为了响应touch事件,需要设置OnMapTouchListener 示例: private void initMapEventsListener() { mapWidget.setOnMapTouchListener(new OnMapTouchListener() { public void onTouch(MapWidget map, MapTouchedEvent event) { List objectTouchEvents = event.getTouchedObjectIds();…
你有两种方式确定用户的当前位置: 1.使用安卓标准方式 2. 使用MapWidget的监听器 标准方式: 在你的acivity中加入: LocationManager locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, MIN_TIME, MIN_DISTANCE, new…
一般来说,可以使用以下几种方式来控制地图的放大/缩小 : 使用控件底部的缩放按钮 双击控件 pinch手势 物理按键 :I键标识缩小 :O键表示放大.(只有设备具有物理按键才行)        当然,你也可以使用自己的按钮实现放大和缩小 缩小一个地图级别,调用: mapWidget.zoomIn(); 增加一个地图级别,调用 mapWiget.zoomOut(); 获取当前地图级别,调用: mapWidget.getZoomLevel(); 地图级别还可以在初始化MapWidget 时,由构造器…
文章翻译完了,梳理一下,附Demo下载 基于mAppWidget实现手绘地图(一)–简介 基于mAppWidget实现手绘地图(二)–概要 基于mAppWidget实现手绘地图(三)–环境搭建 基于mAppWidget实现手绘地图(四)—如何附加java doc 基于mAppWidget实现手绘地图(五)—如何创建地图资源 基于mAppWidget实现手绘地图(六)–如何展示地图对象  基于mAppWidget实现手绘地图(七)–根据坐标添加地图对象 基于mAppWidget实现手绘地图(八)–…
原文:[百度地图API]如何快速创建带有标注的地图?--快速创建地图工具+如何标注商家 摘要: 如果你不会程序,如果你不想写代码. 如果你想拥有一张自己的地图,如果你想在该地图上标注出你商店的位置. 不要犹豫了,就使用快速创建地图工具吧! -------------------------------------------------------------------------------------- 如何快速创建地图? 一.转入百度提供的快速创建地图工具页面:http://openap…
概述 Microsoft Tech Summit 2018 微软技术暨生态大会将于10月24日至27日在上海世博中心举行,这也会是国内举办的最后一届 Tech Summit,2019 年开始会以 Microsoft Ignite Tour 的形式出现,大家可以在官网查看本次会议信息:https://www.microsoft.com/china/techsummit/2018/ 今年非常荣幸最终入选了分会场课程,我会在 27日下午5点给大家带来 “利用 Windows 新特性开发出更好的手绘视频…
在 SharePoint 2013 中针对地理位置字段创建地图视图 了解如何通过在 SharePoint 2013 列表中使用地图视图来显示位置信息.您可以通过 SharePoint 用户界面 (UI) 手动创建地图视图,也可以使用新的 Geolocation 字段类型以编程方式创建地图视图. 适用范围:   本文内容: 创建地图视图的先决条件 什么是地图视图? 从 SharePoint UI 创建地图视图 以编程方式创建地图视图 了解地图视图中的颜色编码标注 其他资源 SharePoint 2…
环境:微信SDK2.9+   + uniapp (可切换直接使用.map.js不限制环境) 正题: 先创建一个地图组件 <template> <view class="customCanvasComponent"> <!-- 建立画布坐标系 --> <canvas :style="{ width: `${options.style.width}rpx`, height: `${options.style.height}rpx`, bo…
手绘地图导航 第三方库 NAMapKit, 1)支持在手绘图上标记.缩放 2)支持在单张图片 3)支持瓦片小图片 思路 前提:美工已经切好手绘图,并告知我们当前的缩放级别. 1)确定好手绘图左上角点在百度地图上的经纬度坐标. 2)将百度地图经纬度坐标转换成平面坐标 /**  *将经纬度坐标转换为投影后的直角地理坐标  *@param coordinate 待转换的经纬度坐标  *@return 转换后的直角地理坐标  */ UIKIT_EXTERN BMKMapPoint BMKMapPoint…
一:百度地图开发必须要到百度开发平台android开发api下载相应的库,已经申请百度地图开发key. 二:新建项目baidumaplocation.设计main.xml文件这里注意的是MapView控件必须使用来自百度库封装好的com.baidu.mapapi.MapView .设计代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http…
开篇先来说一下我和来画的故事,以及写这篇文章的初衷. 今年年初时,我还在北京,在 Face++,做着人脸识别技术的 Windows 和 Android 端,做着人工智能终将实现世间所有美好的梦.这时的我已经离开 UWP,甚至 C# 很久了,写着 C++ 和 Java,当时真的没想过会再次回到 UWP 的阵营,直到 4 月份的时候,一次很偶然的机会,我的一位微软的朋友,也是 Face++的老朋友找到我询问我在 Face++ 的工作近况,本以为只是很久没联系之后的简单交流,直到他提到:在深圳,有一家…
本篇作为技术分享系列的第四篇,详细讲一下手绘视频中 Surface Pen 和 Surface Dial 的使用场景. 先放一张微软官方商城的图,Surface 的使用中结合了 Surface Pen 和 Surface Dial. Surface Pen 的使用场景不难想象,就像 iPad 和 Android Pad 配置的笔一样,Surface Pen 也在书写.书画和日常操作中发挥着很重要的作用.微软的 Surface Pro 和 Surface Book 系列中都重点强调了 Surfac…
研究生做的稍微有点水平的就这两个项目了:一个是利用SVM做手绘草图的分类,另一个是利用JointBoost+CRF做手绘草图的分割.总结得出的经验是做研究的方法就是将别人大神的代码看懂然后改成适合自己项目的代码,转而这次记录的是另一个项目就是利用JointBoost+CRF做手绘草图的分割. 引言 手绘草图的分割就是语义上的分割,如下面两个图:    左图是未标记的"手绘草图",右图是人工标记了的手绘草图,我们想训练一个分类模型能够对手绘草图上的样点进行语义分类,即判断某点所属类别(头…
  Android 高手进阶(21)  版权声明:本文为博主原创文章,未经博主允许不得转载. 转载请注明出处:http://blog.csdn.net/xiaanming/article/details/10163203 了解二维码这个东西还是从微信中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一张图片中扫一下竟然能直接加好友,不可思议啊,那时候还不了解二维码,呵呵,然后做项目的时候,老板说要加上二维码扫描功能,然后自己的屁颠屁颠的去百度,google啥的,发现很多朋友都有介绍二维码扫描的…
一.      概要描述 在使用Eclipse导入android工程源代码以后,我们可以使用ddms调试和跟踪源代码. 本文讲述动态调试源代码和静态调试源代码的两种方法,避免build system.img和重新启动emulator,加快调试速度. 其中静态调试的时间消耗仅在remake相关模块以及install相关的apk,因此效率很高. 动态调试的时间消耗除了静态调试的时间外,由于需要关闭Eclipse和重新启动ddms进入debug调试模式,时间稍长,相对于build system.img…
开篇先来说一下写这篇文章的初衷. 初到来画,通读了来画 UWP App 的代码,发现里面确实有很多比较高深的技术点,同时也是有很多问题的,扩展性,耦合,性能,功能等等.于是我们决定从头重构这个产品,做一个全新的 “来画Pro” 出来,历经三个月的世间,这个产品终于正式上架. (做个小广告,在 Windows 应用商店搜索 “来画Pro” 就可以找到,目前公司定位为收费应用,但是有一个月试用期,如果大家感兴趣,可以跟我要免费代码.这里是 IT之家的报道:https://www.ithome.com…