在 Android 上缩小时,Skobbler 注释会从地图中消失

2024-05-10

目前,我正在向地图视图添加注释列表,代码类似于以下内容:

// Add to map view
SKAnnotation annotation = new SKAnnotation(i++);
annotation.getLocation().setLongitude(result.longitude);
annotation.getLocation().setLatitude(result.latitude);
annotation.setMininumZoomLevel(1);
annotation.setAnnotationType(SKAnnotation.SK_ANNOTATION_TYPE_PURPLE);
mapView.addAnnotation(annotation, SKAnimationSettings.ANIMATION_POP_OUT);

然而,每当我查看地图上的注释时,当我缩小到缩放级别 4.0 以下的任何内容后,它们就会消失。查看文档注解 http://developer.skobbler.com/docs/android/2.5.0/com/skobbler/ngx/map/SKAnnotation.html#setMininumZoomLevel(int)类(以及在代码中确认),我看到默认缩放级别设置为 4,但似乎我的调用.setMinimumZoomLevel被忽略。

有谁知道正在发生的事情或者这是否可能是 SDK 中的已知错误?

我在 Android 上使用 Skobbler 2.5。

感谢您对此事的任何帮助!


基于安藤对原始问题的评论并参考文档here http://developer.skobbler.com/getting-started/android#sec009,我更新了代码以使用他描述的解决方法,以允许注释向上显示到缩放级别 2。

原始代码:

SKAnnotation annotation = new SKAnnotation(i++);
annotation.getLocation().setLongitude(result.longitude);
annotation.getLocation().setLatitude(result.latitude);
annotation.setMininumZoomLevel(1); // Note: this does not work
annotation.setAnnotationType(SKAnnotation.SK_ANNOTATION_TYPE_PURPLE);
mapView.addAnnotation(annotation, SKAnimationSettings.ANIMATION_POP_OUT);

更新的代码:

SKAnnotation annotation = new SKAnnotation(i++);
annotation.getLocation().setLongitude(result.longitude);
annotation.getLocation().setLatitude(result.latitude);
annotation.setMininumZoomLevel(2);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
if (metrics.densityDpi < DisplayMetrics.DENSITY_HIGH) {
    annotation.setImagePath(SKMaps.getInstance().getMapInitSettings().
            getMapResourcesPath() + "/.Common/[email protected] /cdn-cgi/l/email-protection");
    // set the size of the image in pixel
    annotation.setImageSize(128);
} else {
    annotation.setImagePath(SKMaps.getInstance().getMapInitSettings().
            getMapResourcesPath()+ "/.Common/[email protected] /cdn-cgi/l/email-protection");
    // set the size of the image in pixels
    annotation.setImageSize(256);
}
mapView.addAnnotation(annotation, SKAnimationSettings.ANIMATION_POP_OUT);

有几点需要注意:

  1. .setImagePath()罢工>和.setImageSize() 都是最新 SDK 中已弃用的方法,尽管上面的文档中仍然引用了它们。不确定这是否意味着还有另一种选择可以通过绝对路径方法显示图像,或者他们是否只是逐步淘汰此功能。
  2. 在我的特定示例中,我们使用紫色引脚来显示注释,但该引脚的绝对路径文件名实际上称为icon_greypin。不过,其他引脚图像文件名似乎已正确命名。

无论如何,在 SDK 更新之前,这一直是我的特定问题的解决方案,所以我将其标记为答案,希望它对其他人有帮助!感谢安藤朝着正确的方向迈出了一步!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Android 上缩小时,Skobbler 注释会从地图中消失 的相关文章

随机推荐

  • 对列中的字符串进行排序并打印图表

    我有数据框 但所有字符串都是重复的 当我尝试打印图表时 它包含重复的列 我尝试删除它 但我的图表打印不正确 我的 csv 是here https yadi sk i rOYxzv26qQans 数据框common users used at
  • 使用 Swift 选择 NSTextField 中的所有文本

    如何使用 Swift 以编程方式选择 NSTextField 中的所有文本 对于 UITextField 有一个类似的方法 textField selectedTextRange textField textRangeFromPositio
  • 错误:“消息回复时间太长”向设备手表套件 OS 2 发送消息

    从 Apple Watch 向设备发送消息时出现以下错误 错误域 WCErrorDomain代码 7012 消息回复时间太长 UserInfo NSLocalizedDescription 消息回复时间太长 NSLocalizedFailu
  • Solr 中缺少强制 uniquekey 字段错误

    我的项目中有这个问题 我使用 Apache Poi 读取 xlsx excel 文件 并且想在 Solr 核心中对它们进行索引 我使用 SolrInputDocument 来索引读取文件 这是我的java代码 package org sol
  • 如何为强制长度为 2^n 的向量类型定义可用的 Applicative 实例

    对于某些应用程序 我需要长度为 2 n 的向量 为了强制某些操作的长度匹配 我使用 ist 应用实例定义了我的类型 如下所示 LANGUAGE GADTs DataKinds FlexibleInstances FlexibleContex
  • node.js - 将两个可读流写入同一个可写流

    我想知道如果您同时将两个不同的读取流传输到同一目的地 node js 会如何操作 例如 var a fs createReadStream a var b fs createReadStream b var c fs createWrite
  • 如何上传图像代码并将路径保存到mysql数据库中

    如何编写代码上传图像并将路径保存到mysql数据库中 我已经尝试过 但没有一个有效 一种方法是上传图像并将其存储在服务器上的文件夹中 并将名称保存到 mysql 数据库中 这是一个例子 首先我们将创建一个用于上传的表单 文件 html Up
  • 如何下载内存流文件

    我是 asp net 的初学者 我使用以下命令创建 pdf 文件PdfRpt http pdfreport codeplex com SourceControl BrowseLatest 我在课堂上写这段代码 namespace PdfRe
  • 自动将变量名称添加到列表的元素[重复]

    这个问题在这里已经有答案了 我有一个模型列表 为了使代码更易于维护 因此可以方便地添加和删除模型 我希望有一个地方来存储它们及其名称 为此 我必须解决以下命名问题 上游 我生成模型的方式比以下方式效率低 如果是这样压缩的 我会assign他
  • 从安全角度来看,在 Windows 中使用管道是否被认为是危险的?

    从安全角度来看 在 Windows 中使用管道是否被认为是危险的 管道在 Windows 中并不是一个特殊的安全风险 如果您担心安全性 请确保将管道上的安全描述符设置为适当的 DACL 如果您的使用要求管道开放供任何人连接 那么您必须将传入
  • Flutter:删除按钮中的填充 - FlatButton、ElevatedButton、OutlinedButton

    我希望删除 FlatButton 的默认边距 但似乎无法设置 覆盖它 Column children
  • jQuery 仅定位父 div 中的元素

    我的页面上有许多小部件 我想在整个页面中重复使用类 我有一个问号图标 应该在小部件内的 2 个 div 之间切换可见性 问题是我无法让我的代码仅针对当前小部件 我已经尝试过常用的技术 但似乎没有一个在这里起作用 小提琴在这里 http js
  • ASP.NET MVC - 授权属性登录重定向后保留 POST 数据

    我有一个带有评论的博客文章页面 任何用户 无论是否登录 都可以在页面底部看到一个表单来发表评论 当用户输入评论且未获得授权时 用户将被重定向到登录 注册页面 登录后 用户将被重定向回操作 但包含评论正文的 POST 数据会丢失 我使用 AS
  • iPhone中的异步for循环

    for循环看起来像这样 我在视图中编写的确实加载了 因此加载此页面需要更多时间 for int i 3 i lt dataDict objectForKey rss objectForKey channel objectForKey ite
  • Devise/CanCanCan - 允许管理员创建新用户

    我正在使用 Rails 4 0 2 设计并康康康 https github com CanCanCommunity cancancan 我正在尝试允许管理员创建新用户 管理员用户在用户表中分配有一个布尔字段 在ability rb中我有以下
  • PHP - SQLite 与 SQLite3

    我已经使用 SQLite 2 8 17 制作了一个 Web 应用程序 我现在才发现有一个 SQLite3 在制作 Web 应用程序时 它以某种方式逃避了我的注意 可能是由于缺少 php 函数的文档 我想知道 使用 SQLite3 比 SQL
  • Scrapy:在调用之间保存cookie

    有没有办法在 scrapy 爬虫的调用之间保留 cookie 目的 网站需要登录 然后通过 cookie 维持会话 我宁愿重复使用会话 也不愿每次都重新登录 请参阅有关 cookie 的文档 常见问题解答入口 http doc scrapy
  • Node.js 解析路由的最小函数

    我有一个 Node js Express 应用程序正在运行 它接收如下路由 app get resource res someFunction app get foo bar id someOtherFunction 这很棒并且工作正常 我
  • Swift 为 .toInt 提供Optional(3) 而不是 3

    尝试从字段中提取数字并继续获取可选 数字 而不是数字 IBOutlet weak var years UITextField IBAction func calculateYear sender AnyObject var a years
  • 在 Android 上缩小时,Skobbler 注释会从地图中消失

    目前 我正在向地图视图添加注释列表 代码类似于以下内容 Add to map view SKAnnotation annotation new SKAnnotation i annotation getLocation setLongitu