标签: skmaps

适用于Android和iOS的离线地图SDK

我想为我的应用程序使用离线地图功能.有人可以推荐任何有用的地图SDK吗?

我发现了这些:Skobbler,Bing MapsTomTom.但不确定哪一个更好.我需要一个自定义POI,路由highligting,以及一些信息.

是否可以使用谷歌地图,一些预先下载的地图供离线使用?

谢谢你的建议.

android google-maps offline ios skmaps

16
推荐指数
1
解决办法
9948
查看次数

显示从Internet下载的图像作为注释 - 使用Picasso

我无法将从Internet下载的图像显示为注释.我正在实现以下代码和Picasso库.但是,如果我使用本地图像,它的工作原理.在此先感谢您的帮助.

private void createAnnotation(int id, double lat, double lon, String caption, String photoUrl) {

    SKAnnotation annotation = new SKAnnotation(id);

    SKCoordinate coordinate = new SKCoordinate(lat, lon);
    annotation.setLocation(coordinate);
    annotation.setMininumZoomLevel(5);

    SKAnnotationView annotationView = new SKAnnotationView();
    View customView =
            (LinearLayout) ((LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(
                    R.layout.annotation_photo_and_text, null, false);
    //  If width and height of the view  are not power of 2 the actual size of the image will be the next power of 2 of max(width,height).
    //annotationView.setView(findViewById(R.id.customView));

    TextView tvCaption = (TextView) customView.findViewById(R.id.annotation_photo_caption);
    tvCaption.setText(caption);

    ImageView ivPhoto = (ImageView) …
Run Code Online (Sandbox Code Playgroud)

android picasso skmaps skobbler-maps

10
推荐指数
1
解决办法
307
查看次数

将Skobbler Map添加到我的空App中

我正在尝试用Skobbler建立一个新的项目.我已经集成了SKMaps.jar并将其放入buildpath中.我正在使用带有gradl的AndroidStudio.

现在的问题是:我打电话的那一刻

SKMaps.getInstance().initializeSKMaps(this, initMapSettings, getString(R.string.skobbler_api_key));

它引发了一个例外

android.view.InflateException:二进制XML文件行#44:错误膨胀类com.skobbler.ngx.map.SKMapViewHolder

无法从加载器dalvik.system.PathClassLoader加载ngnative [DexPathList [[zip文件"/data/app/de.aeins.theswap.swap-1.apk"],nativeLibraryDirectories=[/data/app-lib/de. aeins.theswap.swap-1,/ vendor/lib,/ system/lib]]]:findLibrary返回null

我在我的项目根目录中有一个lib文件夹,在单独的文件夹中有SKMaps.jar和3个libngnative.so文件.

知道出了什么问题吗?

android buildpath skmaps

6
推荐指数
1
解决办法
1747
查看次数

Skobbler标注尾部imageview显示错误Android SDK 2.5.1

我有一些代码,它添加了一个自定义注释标注视图,只要在我的Skobbler mapview中选择了注释,就会显示该视图.

@Override
public void onAnnotationSelected(final SKAnnotation annotation) {
  ...
  mapPopup = mapHolder.getCalloutView();
  // set the callout view’s background color
  mapPopup.setViewColor(Color.WHITE);
  View view = getLayoutInflater().inflate(R.layout.map_callout, null);
  ...
  mapPopup.setCustomView(view);
  // setting 2nd parameter to 'true' will cause tail to be displayed
  mapPopup.showAtLocation(annotation.getLocation(), true);
  ...
}
Run Code Online (Sandbox Code Playgroud)

我还在showAtLocation()通话中请求使用"tail"imageview显示标注视图.但是,当我在应用程序中测试时,我看到尾部出现在map_surface_holderRelativeLayout容器的顶部,而不是显示callout弹出视图的FrameLayout容器的底部.

图像显示错误定位的尾部图像视图

当我平移地图时,我可以看到尾部视图相对于标注视图的移动向左和向右移动,但它仍然与map_surface_holder容器的顶部对齐,从不向上或向下移动.

我是否需要在某处添加一些代码以使尾部图像视图知道它应该放置在RelativeLayout容器的y轴方向的哪个位置?

我确实尝试添加一个调用来mapPopup.setVerticalOffset(offset)查看是否有任何效果,但尾部图像仍然锁定在屏幕顶部.

我在自定义标注视图和Skobbler提供的默认视图之间可以看到的另一个区别是标准视图是RelativeLayout容器,而我的实现是FrameLayout.但是,我不确定它是否重要,因为这里的Tail ImageView被添加到我的标注视图的父级,而不是作为孩子.

提前感谢您对此事的任何帮助,如果有任何其他细节会有所帮助,请告诉我.

谢谢!

java android skmaps

6
推荐指数
1
解决办法
230
查看次数

在iOS应用程序中释放SKMap(Skobbler)的内存

我正在制作一个使用SKMap(Skobbler)的iOS应用程序.当SKMap打开时,我的应用会占用大量内存.当我移动到应用程序的其他页面时,更多内容不会释放内存.

我在viewWillDisappear方法中放了一些代码来释放SKMap的内存,

[[SKRoutingService sharedInstance].mapView clearAllAnnotations];
[SKRoutingService sharedInstance].routingDelegate = nil;
[SKRoutingService sharedInstance].navigationDelegate=nil;
[[AudioService sharedInstance]cancel];
[[SKRoutingService sharedInstance]stopNavigation];
[[SKRoutingService sharedInstance]clearCurrentRoutes];
[[SKRoutingService sharedInstance]clearAllRoutesFromCache];
[SKRoutingService sharedInstance].mapView = nil;

//self.mapView is SKMap
self.mapView.settings.displayMode = SKMapDisplayMode2D;
self.mapView.delegate=nil;
[self.mapView removeFromSuperview];
self.mapView=nil;
Run Code Online (Sandbox Code Playgroud)

如果您有任何解决方案来释放内存,请帮助我.

objective-c map ios skmaps

5
推荐指数
1
解决办法
241
查看次数

Swift嵌入式库 - >命令/ usr/bin/codesign失败,退出代码为1

我正在尝试将swift框架集成到我的项目中:http: //developer.skobbler.com/download/SKMaps_iOS_2.4.0_withDemo_Swift.zip

当我尝试集成为嵌入式二进制时,xcode无法对代码进行编码并告诉我"代码签名失败,退出代码为1".

CodeSign /Users/k1x/Library/Developer/Xcode/DerivedData/TestMaps-dubiwcafqgeplbabdrqpjtokouxq/Build/Products/Debug-iphoneos/TestMaps.app/Frameworks/SKMaps.framework
    cd "/Users/k1x/Workspace iOS/SwitchMaps"
    export CODESIGN_ALLOCATE=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/codesign_allocate
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"

Signing Identity:     "iPhone Developer"

    /usr/bin/codesign --force --sign 56131F60BE8DA3BA4F04CBF6717C75951E93E4D6 --preserve-metadata=identifier,entitlements,resource-rules /Users/k1x/Library/Developer/Xcode/DerivedData/TestMaps-dubiwcafqgeplbabdrqpjtokouxq/Build/Products/Debug-iphoneos/TestMaps.app/Frameworks/SKMaps.framework

Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)!
/Users/k1x/Library/Developer/Xcode/DerivedData/TestMaps-dubiwcafqgeplbabdrqpjtokouxq/Build/Products/Debug-iphoneos/TestMaps.app/Frameworks/SKMaps.framework: invalid resource specification rule(s)
Command /usr/bin/codesign failed with exit code 1
Run Code Online (Sandbox Code Playgroud)

我试图将框架放在"链接框架和二进制文件"部分中.但我有以下输出:

dyld: Library not loaded: @rpath/SKMaps.framework/SKMaps
  Referenced from: /private/var/mobile/Containers/Bundle/Application/B3686F36-2120-4007-97AB-B2D3B423C0A0/TestMaps.app/TestMaps
  Reason: image not found
Run Code Online (Sandbox Code Playgroud)

我用Google搜索并找到了此问题的其他帖子,但他们没有回答我的问题.万一它的Objective C版本的一切正常:http: //developer.skobbler.com/download/SKMaps_iOS_2.4.0_withDemo.zip

xcode ios skmaps swift

5
推荐指数
1
解决办法
1041
查看次数

Skobbler“无法计算路线”错误消息

我正在使用 SKobbler 实现自定义逐向导航。我有时会收到一条消息“无法计算路线”。但是,源坐标和目标坐标是正确的。我在谷歌地图中尝试了相同的坐标。它为我提供了路线。我不知道在 SKobbler 中计算路线有什么问题。请给我一些建议来摆脱这个问题。

android skmaps

5
推荐指数
0
解决办法
334
查看次数

在skobbler android API中启用"导航"模式

我无法找到一种方法来制作我的应用程序,目前正在实施SKmaps以显示路线,显示路线并像汽车导航仪一样遵循路线.

例: 在此输入图像描述

这是我的"路线加载"方法.希望我没有错过任何东西.

 @Override
public void onAllRoutesCompleted() {
    SKNavigationSettings navigationSettings = new SKNavigationSettings();
    navigationSettings.setNavigationType(SKNavigationSettings.SKNavigationType.REAL);
    navigationSettings.setNavigationMode(SKNavigationSettings.SKNavigationMode.CAR);
    navigationSettings.setCcpAsCurrentPosition(true);
    navigationSettings.setFcdEnabled(true);
    SKNavigationManager navigationManager = SKNavigationManager.getInstance();
    navigationManager.setMapView(mapView);
    navigationManager.setNavigationListener(MainActivity.this);
    navigationManager.startNavigation(navigationSettings);
}
Run Code Online (Sandbox Code Playgroud)

android skmaps

5
推荐指数
1
解决办法
333
查看次数

Android-Skobbler不支持64位处理器

Skobbler 不支持x64位处理器。

是否可以修复x86位库以在x64位设备上工作?

2-02 14:55:35.171 8818-8840/? E/AndroidRuntime: FATAL EXCEPTION: Thread-3042
12-02 14:55:35.171 8818-8840/? E/AndroidRuntime: Process: am.ggtaxi.main.ggdriver, PID: 8818
12-02 14:55:35.171 8818-8840/? E/AndroidRuntime: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/am.ggtaxi.main.ggdriver-1/base.apk"],nativeLibraryDirectories=[/data/app/am.ggtaxi.main.ggdriver-1/lib/arm64, /vendor/lib64, /system/lib64]]] couldn't find "libngnative.so"
12-02 14:55:35.171 8818-8840/? E/AndroidRuntime:     at java.lang.Runtime.loadLibrary(Runtime.java:366)
12-02 14:55:35.171 8818-8840/? E/AndroidRuntime:     at java.lang.System.loadLibrary(System.java:988)
12-02 14:55:35.171 8818-8840/? E/AndroidRuntime:     at com.skobbler.ngx.SKMaps.<clinit>(SourceFile:59)
Run Code Online (Sandbox Code Playgroud)

skmaps

5
推荐指数
1
解决办法
290
查看次数

应该使用什么过程压缩SKMaps.zip文件以在Skobbler驱动的应用程序中使用?

我目前正在Android应用程序中使用Skobbler SDK来处理映射和逐向导向任务.出现的一个问题是希望改变从SDK发出音频建议的频率,这样我们就不会有太多的指令被一个接一个地发出.

我找到了另一个问题的答案,这个问题解释了修改advice_places.adv我能够在SDK提供的SKMaps.zip文件中找到的文件的必要性.

我遇到的问题似乎与我在完成advice_places.adv文件更改后重新存档zip文件有关.我正在使用Mac,似乎无论我是否使用内置的"压缩..."上下文菜单选项,或者如果我通过命令行执行zip操作,类似于:

zip -vr SKMaps.zip SKMaps/ -x "*.DS_Store"; chmod +x SKMaps.zip
Run Code Online (Sandbox Code Playgroud)

在Skobbler SDK地图初始化过程中,如果没有它崩溃,我似乎仍然无法加载我的应用程序.

我已经将问题缩小到与zip/unzip相关的问题,因为我可以重新创建崩溃,即使我不修改SKMaps.zip的任何内容但只解压缩然后重新压缩.

这是我的应用程序崩溃时看到的日志转储.

                 SKMaps  D  SKMapViewHolder----@onResume
                     D  SKMapSurfaceView----@onResume
                     D  SKMapSurfaceView----@onResume preserve GL context is TRUE
      WindowManager  V  Adding window Window{278f3a43 u0 com.company.mymapapp/com.company.mymapapp.activities.MainActivity} at 23 of 32 (before Window{246caca8 u0 SurfaceView})
                     V  Adding window Window{1b0d49f9 u0 SurfaceView} at 23 of 33 (before Window{278f3a43 u0 com.company.mymapapp/com.company.mymapapp.activities.MainActivity})
             SKMaps  D  MapRenderer----@onSurfaceCreated
                     D  MapRenderer----@onSurfaceCreated LinInitialized = true
                     D  MapRenderer---- @initGLView
         SkobblerNG …
Run Code Online (Sandbox Code Playgroud)

android skmaps

5
推荐指数
1
解决办法
327
查看次数