标签: maps

从Map中获取Java/Guava中的一些键的所有值?

是否有一种聪明的方法可以从一个地图中获取所有值?

我想要一个像这样的方法:

public static <K, V> Collection<V> getAll(Map<K, V> map, Collection<K> keys)
Run Code Online (Sandbox Code Playgroud)

或者已经是番石榴的方式?

java collections maps guava

12
推荐指数
2
解决办法
1万
查看次数

如何在Google地图上突出显示某个区域

如何使用谷歌地图多边形阵列突出显示/覆盖不同颜色的区域或多个区域(例如3个美国州)?我在google代码上发现了一个关于如何绘制多边形的tuto,但它没有提供详细信息.

谢谢您的帮助.

javascript maps

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

用于动画地图可视化的Python库

我想在地理地图上可视化轨迹.我不需要数千层,3D和其他GIS功能.我只想(latitude, longitude, altitude, time)尽可能简单地在地图背景上可视化我的元组.动画也应该受到支持.

谁能推荐好的Python库?

python maps plot visualization geolocation

12
推荐指数
2
解决办法
2万
查看次数

地图上的75个标记 - >内存泄漏 - > OutOfMemoryException

我在谷歌地图上绘制大约80个标记时遇到问题.我正在使用Google Maps Android API v2.

标记的图标是动态的(时间变化).将标记添加到地图后,无法更改图标.因此,我必须删除所有标记并再次添加所有标记.

mMap.clear();
for (int i = 0; i < teams.length(); i++) {
    team = teams.get(i);
    point = new LatLng(tema.getLatitude(), team.getLongitude());

    MarkerOptions marker = new MarkerOptions().position(point).title(name).icon(BitmapDescriptorFactory.fromResource(team.getMarkerId())));
        mMap.addMarker(marker);
}
Run Code Online (Sandbox Code Playgroud)

多次执行此代码后(每分钟刷新一次),我得到一个OutOfMemoryExpcetion.

当使用较大的标记图标时,OutOfMemoryException会更快地抛出,因此我认为内存问题与图标位图有关,而该位图未正确回收.

我还想到,当将设备的旋转从横向更改为portait并返回时,会增加使用的堆内存.在GC之后,内存不会被释放.

有人知道我是否错误地添加了标记,或者我是否在Map API实现中遇到问题?


我尝试使用Google Map示例应用程序重现错误.在android-sdk/extras/google/google_play_services/samples/maps/src/com/example/mapdemo/MarkerDemoActivity.java标记演示中可以找到.加快测试速度我增加了创建的标记数量.

int numMarkersInRainbow = 12;
Run Code Online (Sandbox Code Playgroud)

改成

int numMarkersInRainbow = 100;
Run Code Online (Sandbox Code Playgroud)

现在启动演示应用程序,选择标记演示并将设备的旋转从纵向切换到横向并返回几次.

初始堆:

Heap size   Allocated  Free      %Used    #Objects
11,543 BM   9,898 MB   1,645 MB  85,75%   65.982
Run Code Online (Sandbox Code Playgroud)

在几个方向更改后堆积:

Heap size   Allocated  Free      %Used    #Objects
15,652 MB   11,337 MB  4,316 MB  72,43% …
Run Code Online (Sandbox Code Playgroud)

maps android out-of-memory google-maps-android-api-2

12
推荐指数
1
解决办法
2759
查看次数

Phonegap - 在Apple Maps App中打开导航方向

我有两个变量 - 目标和源 - 并且,使用Phonegap,我正在尝试使用jQuery打开带有路线的外部iPhone Apple Maps应用程序.

我正在使用的代码如下所示:

var url = 'http://maps.apple.com/?q=daddr='+destination+'&saddr='+source;
window.location = url;
Run Code Online (Sandbox Code Playgroud)

然而,每当我点击相关按钮时,它会在应用中打开一个新视图,其中Google方向作为webview,我无法返回到原始应用.

如何使用iOS默认地图应用程序打开链接?

javascript maps jquery ios cordova

12
推荐指数
2
解决办法
2万
查看次数

如何在Android Studio中获取我的Android指纹认证

我是新的Android开发人员.我正在使用Mac Os x Lion和Android Studio 2.0.11.我将映射应用程序,所以我需要sha1 certifica.

如何获得指纹mac os和Android studio.

感谢名单.

抱歉坏英语.

maps android fingerprint

12
推荐指数
2
解决办法
2万
查看次数

删除ggplot map/choropleth中的边框线

我想删除ggplot中生成的等值区域之间的线.我的问题是由一个非常大的地图(人口普查区块组)的非常大的地图推动的,这些区域如此众多,以至于考虑到边界的密度,不可能看到填充形状的颜色.我在Mac上使用更新的RStudio,ggplot2版本1.0.0; Windows上似乎没有出现同样的问题.

以下是每个县具有不同颜色的示例(使用县),因此不需要边框.第一个使用紫色边框来强调.第二个是color = NA,这是我尝试消除所有边界的失败.

library("ggplot2")
library("maps")
tn = map_data("county", region = "tennessee")
ggplot(tn, aes(x = long, y = lat, group = group)) + 
  geom_polygon(aes(fill = group), color = "purple")
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

ggplot(tn, aes(x = long, y = lat, group = group)) + 
  geom_polygon(aes(fill = group), color = NA)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

maps r ggplot2

12
推荐指数
3
解决办法
5168
查看次数

在swift中长按时将图钉注释添加到地图视图中

我正在尝试制作一个iPhone应用程序,要求用户能够长时间按下地图视图上的某个位置以放置针.有谁知道这是怎么做的?

当您长按屏幕时,可以在Apple地图中观察到该行为.它将丢弃一个引脚并提供一个注释说"掉针"

maps annotations mkmapview ios swift

12
推荐指数
3
解决办法
2万
查看次数

Python - 从for循环创建json对象数组

我试图从html中提取值,然后将它们转换为json数组,到目前为止,我已经能够得到我想要的,但只能作为单独的字符串:

我做了两个for循环:

for line in games_html.findAll('div', class_="product_score"):
  score= ("{'Score': %s}" % line.getText(strip=True))
  print score

for line in games_html.findAll('a'):
  title= ("{'Title': '%s'}" % line.getText(strip=True))
  print title
Run Code Online (Sandbox Code Playgroud)

产生这两个输出:

{'Title': 'Uncanny Valley'}
{'Title': 'Subject 13'}
{'Title': '2Dark'}
{'Title': 'Lethal VR'}
{'Title': 'Earthlock: Festival of Magic'}
{'Title': 'Knee Deep'}
{'Title': 'VR Ping Pong'}
Run Code Online (Sandbox Code Playgroud)

{'Score': 73}
{'Score': 73}
{'Score': 72}
{'Score': 72}
{'Score': 72}
{'Score': 71}
{'Score': 71}
Run Code Online (Sandbox Code Playgroud)

(它们更长,但你可以对此有所了解...)

我如何使用python从这些中创建一个json数组,如下所示:

[{'Title': 'Uncanny Valley', 'Score': 73}, {....}]
Run Code Online (Sandbox Code Playgroud)

之后我会使用生成的数组做其他事情....

我是否需要将循环中的项目存储到列表中然后合并它们?你能否根据我的情况说明一个例子?

非常感谢帮助,这对我来说是一次非常酷的学习体验,因为我直到现在才使用bash.Python看起来更性感.

python maps json loops list

12
推荐指数
1
解决办法
3万
查看次数

关于不可变集和映射的JDK9随机化

阅读这个问题Eugene给出的答案,我发现JDK9不可变集和映射将引入一个随机性源,它将影响它们的遍历.这意味着迭代顺序确实是随机的,至少在JVM的不同运行中是这样.

由于规范不保证集合和映射的任何遍历/迭代顺序,这绝对没问题.实际上,代码绝不能依赖于特定于实现的细节,而是依赖于规范.

我知道今天,使用JDK 8,如果我有一个HashSet并且这样做(取自链接的答案):

Set<String> wordSet = new HashSet<>(Arrays.asList("just", "a", "test"));

System.out.println(wordSet);

for (int i = 0; i < 100; i++) {
    wordSet.add("" + i);
}

for (int i = 0; i < 100; i++) {
    wordSet.remove("" + i);
}

System.out.println(wordSet);
Run Code Online (Sandbox Code Playgroud)

然后元素的迭代顺序将改变,两个输出将不同.这是因为向集合中添加和删除100个元素会更改HashSet和重新构造元素的内部容量.这是完全有效的行为.我这里不是在问这个问题.

但是,使用JDK9,如果我这样做:

Set<String> set = Set.of("just", "a", "test");
System.out.println(set);
Run Code Online (Sandbox Code Playgroud)

然后,在JVM的另一个实例中,我运行相同的代码,输出可能不同,因为已经引入了随机化.

到目前为止,我在youtube上发现了这个优秀的视频(分钟44:55),其中Stuart Marks说这种随机化的一个动机是:

(...)人们编写的应用程序无意中依赖于迭代顺序.(...)所以,无论如何,迭代顺序是一个大问题,我认为有很多代码存在潜在的依赖于迭代顺序尚未发现的代码.(......)所以,我们对此的回应是故意在随机迭代顺序Set,并Map在新的集合.因此,在集合的迭代顺序不可预测但稳定之前,这些是可预测的不可预测的.因此,每次JVM启动时,我们都会获得一个随机数,并将其作为种子值使用,并与哈希值混合使用.因此,如果你运行一个初始化一个集合然后以任何顺序打印出元素的程序,你会得到一个答案,然后,如果再次调用JVM并运行相同的程序,那么元素集通常会出现在不同的顺序.所以,这里的想法是(...)如果你的代码中存在迭代顺序依赖,过去曾经发生的事情是,新的JDK版本出来了,你测试你的代码和(...)它' d需要数小时的调试才能将其追溯到迭代顺序中的某种变化.这意味着该代码中存在一个依赖于迭代顺序的错误.现在,如果你更频繁地改变迭代次序,比如每次JVM调用,那么(我们希望)奇怪的行为会更频繁地表现出来,事实上我们希望你在做测试时......

因此,动机很明确,而且很明显,这种随机化只会影响新的不可变集和映射.

我的问题是:这种随机化还有其他动机吗?它有什么优势?

java random collections maps java-9

12
推荐指数
2
解决办法
490
查看次数