Android应用开发之Mapbox Android SDK教程之Annotations使用分析
凌雪 2018-09-21 来源 :网络 阅读 725 评论 0

摘要:本文将带你了解Android应用开发之Mapbox Android SDK教程之Annotations使用分析,希望本文对大家学Android有所帮助。

本文将带你了解Android应用开发之Mapbox Android SDK教程之Annotations使用分析,希望本文对大家学Android有所帮助。


Annotations
    mapbox maps   SDK提供了许多方法来标记一个单点、在多个点之间添加线和画多边形。通常情况下,这些要素要不画在图层之上,要不就画在图层本身。后面逐渐介绍如何添加高级要素。
    Source and layer
    用数据源和图层是最常用的永久展示数据的方法。这个方案也能提供更多细化的控制:
    · 代表独立点的图标
    · 线段
    · 多边形
    参考the runtime styling page(后续)获取更多信息。我们推荐使用source和layer的方式来创建annotations。下面的介绍不是使用source和layer,是一些非永久性添加标注的方法。
    Markers
      markers在标注地图上单点时很有用。SDK默认使用markers图标,同时你也可以定制你的图标。API暴露了定制任何你希望的bmp图像的图标接口。为了创建一个marker,你仅仅需要提供一个你需要标注位置的latlng即可。调用mapboxMap.addMarker()来将marker标记到地图上。
   
      除了提供位置,你也可以增加一个title和用来在信息窗展示的snippet。当用户点击marker时会弹出信息窗,当点击其他区域时,信息框会自动关闭。
      如果你要添加一组markers或者需要从geoJSON文件中加载markers,用mapboxMap.addMarkers()来增加一组markers。
    Removing markers
    SDK提供二种方法来移除markers,如果你要移除某个marker,用mapboxMap.removeMarker()传入你要移除的marker。如果你想移除所有的markers,调用mapboxMap.clear()方法。注意这也会移除所有你加到地图中的多边形和多段线。(所以用source和layer添加标注是更持久的方案)
    Customize marker icon
      你可以通过IconFactory来定制你的图标,并将其传递给marker。marker默认显示在图标的ceter,这意味着你如果你在一个点标记一个图标,你要加上图片内中心到底的内边距。
    把用作marker的图片放到drawable文件夹,通过下面代码可以调用:
   
    Capturing marker events
      SDK提供了用户触碰marker的事件监听。默认情况下,所有markers都有onMarklistener事件监听,用来显示和隐藏信息窗。你可以通过setOnMarkerClickListener方法来重写这个默认监听事件。
    为了在点击marker的title时弹出消息,使用setOnMarkerClickListener监听事件且调用toast.makeText()。为了阻止toast   message和info window同时显示,在最后返回true。
   
    Update a marker
    如果你想更新marker,SDK提供了一些方法。用这些方法意味着更灵活,如果仅仅是为了更新marker。使用update   APIs你可以通过ValueAnimator来创建动态markers。
   
    Polyline and polygons
      增加一条线和一个多边形和增加marker一样。考虑到这些要素本身不同,APIs也暴露不同的接口,譬如多边形颜色和线宽。除了处理单独一个位置,你可以将所有latlng对象放置到list组中,然后通过addAll方法传递他们。
    Draw a polyline on the map
    确保第一个和最后一个点为同一个点:
   
    Draw a polygon on the map
    确保第一个和最后一个点为同一个点:
   
    Use line and fill layers
      为了使用addPolyline或者addPolygon方法,你要有一组latlng代表线或多边形的对象。就像上面所说的,用source和layers会给你更多的灵活度来展示你的地理数据。用latlng的list组,可以创建featureCollection,再用featureCollection创建GeoJsonSource。再将GeoJsonSource填充到图层。
   
    Bubble annotations
    在SDK   5.1.0版本中开始引入气泡提醒,这是一个默认的气泡窗口,通常在marker被选中是被显示。气泡注释可以展示图片、文字和坐标信息。
    如果你想改变bubble的样式,你可以在BubbleLayout的布局文件中定制,譬如气泡颜色、半径等等。    

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注移动开发之Android频道!

本文由 @凌雪 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程