默认情况下,OpenLayers会在用户双击地图时放大.
禁用此行为的最佳方法是什么?
我想将图像从URL保存到SD卡(以备将来使用),然后从SD卡加载该图像,将其用作Google地图的可绘制叠加层.
这是函数的保存部分:
//SAVE TO FILE
String filepath = Environment.getExternalStorageDirectory().getAbsolutePath();
String extraPath = "/Map-"+RowNumber+"-"+ColNumber+".png";
filepath += extraPath;
FileOutputStream fos = null;
fos = new FileOutputStream(filepath);
bmImg.compress(CompressFormat.PNG, 75, fos);
//LOAD IMAGE FROM FILE
Drawable d = Drawable.createFromPath(filepath);
return d;
Run Code Online (Sandbox Code Playgroud)
图像以succuessfully的形式保存到SD卡,但在到达createFromPath()线路时失败.我不明白为什么它会保存到那个目的地但不加载它....
是否可以覆盖Android MapView显示的切片源?
我在数据库中有一些地图图像切片,并希望使用谷歌地图MapView来查看它们.
此外,如果这是不可能的......有没有人知道允许这个的MapView?(OpenStreetMap API ... MapQuest API ......等)
我正在寻找一种不依赖于GPL/LGPL的解决方案.
我试图改变显示在DIV内部的内容,这是一个infowindow的内容.我已经能够在infowindow中将内容从Hello更改为YO.问题是当我关闭infowindow并重新打开它时,更新的内容将恢复为原始状态.以下是我的代码:
google.maps.event.addListener(drawingManager, 'overlaycomplete', function(event) {
if (event.type == google.maps.drawing.OverlayType.MARKER) {
//event.overlay.setTitle("Hello");
var infowindow = new google.maps.InfoWindow({
content: '<div id="content" onmouseover="updateContent()">Hello</div>',
maxWidth: 10
});
google.maps.event.addListener(event.overlay, 'click', function() {
infowindow.open(map, event.overlay);
});
}
});
function updateContent() {
document.getElementById('content').innerHTML = "Yo";
}
Run Code Online (Sandbox Code Playgroud)
我基本上想要创建一个默认信息窗口,并允许用户在将市场放在页面后输入自己的文本...
我尝试了在android中显示谷歌地图v2的演示.
java代码是,
package com.example.gpslocator;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Run Code Online (Sandbox Code Playgroud)
Xml代码是,
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.google.android.gms.maps.MapFragment"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我在manifest.xml中添加了API密钥,
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.gpslocator"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="3"
android:targetSdkVersion="17" />
<uses-permission …Run Code Online (Sandbox Code Playgroud) 当我查看GeoJson的规格时,我看到支持圆圈:
http://geopriv.dreamhosters.com/geojson/geojson-spec.html#circleExample
当我尝试使用geojsonlint(http://geojsonlint.com/)中的代码时,它会给我一个错误.
输入:
{
"type": "Circle",
"coordinates": [4.884, 52.353],
"radius": 200
}
Run Code Online (Sandbox Code Playgroud)
得到:
"Circle" is not a valid GeoJSON type.
Run Code Online (Sandbox Code Playgroud)
我想通过使用d3来显示不同的兴趣点,并对地图产生一系列影响.它需要GeoJson作为输入,但是GeoJson不支持圆圈吗?
我厌倦了谷歌的地理编码,并决定尝试替代方案.Data Science Toolkit(http://www.datasciencetoolkit.org)允许您对无限数量的地址进行地理编码.R有一个很好的包,可以作为其功能的包装(CRAN:RDSTK).该软件包具有一个street2coordinates()与Data Science Toolkit的地理编码实用程序接口的函数.
但是,street2coordinates()如果您尝试对像City,Country这样简单的地理编码,则RDSTK功能不起作用.在下面的例子中,我将尝试使用该函数来获取凤凰城的纬度和经度:
> require("RDSTK")
> street2coordinates("Phoenix+Arizona+United+States")
[1] full.address
<0 rows> (or 0-length row.names)
Run Code Online (Sandbox Code Playgroud)
数据科学工具包的实用工具非常有效.这是提供答案的URL请求:http://www.datasciencetoolkit.org/maps/api/geocode/json?seamor = false& address = Phoenix + Arizona + UniteditedStates
我感兴趣的是对多个地址进行地理编码(完整的地址和城市名称).我知道Data Science Toolkit URL可以很好地工作.如何与URL连接并将多个纬度和经度带入具有地址的数据框?
这是一个示例数据集:
dff <- data.frame(address=c(
"Birmingham, Alabama, United States",
"Mobile, Alabama, United States",
"Phoenix, Arizona, United States",
"Tucson, Arizona, United States",
"Little Rock, Arkansas, United States",
"Berkeley, California, United States",
"Duarte, California, United States",
"Encinitas, California, United States", …Run Code Online (Sandbox Code Playgroud) 我试图在一组固定的地理区域内创建Voronoi多边形(又名Dirichlet镶嵌或Thiessen多边形).但是,我在R中找到一个方法会遇到地图边界内的多边形.我的主要目标是获得准确的面积计算(不仅仅是生成视觉图).例如,以下内容直观地传达了我想要实现的目标:
library(maps)
library(deldir)
data(countyMapEnv)
counties <- map('county', c('maryland,carroll','maryland,frederick', 'maryland,montgomery', 'maryland,howard'), interior=FALSE)
x <- c(-77.208703, -77.456582, -77.090600, -77.035668, -77.197144)
y <- c(39.188603, 39.347019, 39.672818, 39.501898, 39.389203)
points(x,y)
vt <- deldir(x, y, rw=counties$range)
plot(vt, wlines="tess", lty="solid", add=TRUE)
Run Code Online (Sandbox Code Playgroud)
产生以下内容:

从概念上讲,我想counties与之相交vt,应该提供一组由县界限定的多边形,并为每个多边形进行准确的面积计算.现在,vt$summary为每个多边形提供面积计算,但除了一个内部多边形之外,它们显然被夸大了,并且deldir()似乎只接受其rw参数的矩形包围.我是R的geospacial能力的新手,所以我可以接受超出我上面概述的其他方法.
我刚刚创建了一个非常简单的geopandas示例(请参见下文)。它有效,但是我注意到能够拥有世界的自定义部分对我来说很重要。有时德国,有时只有柏林。(此外,我想按在geopandas文件中定义为多边形的区域汇总我拥有的数据,但我将其添加到另一个问题中。)
我如何获得与“
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
Run Code Online (Sandbox Code Playgroud)
可视化?
# 3rd party modules
import pandas as pd
import geopandas as gpd
import shapely
# needs 'descartes'
import matplotlib.pyplot as plt
df = pd.DataFrame({'city': ['Berlin', 'Paris', 'Munich'],
'latitude': [52.518611111111, 48.856666666667, 48.137222222222],
'longitude': [13.408333333333, 2.3516666666667, 11.575555555556]})
gdf = gpd.GeoDataFrame(df.drop(['latitude', 'longitude'], axis=1),
crs={'init': 'epsg:4326'},
geometry=[shapely.geometry.Point(xy)
for xy in zip(df.longitude, df.latitude)])
print(gdf)
world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
base = world.plot(color='white', edgecolor='black')
gdf.plot(ax=base, marker='o', color='red', markersize=5)
plt.show()
Run Code Online (Sandbox Code Playgroud) 我有兴趣将一个简单的导航应用程序编写为宠物项目.在搜索免费地图数据后,我已经确定了美国人口普查局TIGER 2007 Line/Shapefile地图数据.数据被分成各个县的zip文件,我已经为我的区域下载了一个县的地图数据.
将这个地图数据读入可用格式的最佳方法是什么?
我应该怎么做:
在读完Shapefile数据后,渲染地图的最佳方法是什么?
理想情况下,我希望能够读取县地图数据shapefile并将所有多边形线渲染到屏幕上并允许旋转和缩放.
我应该怎么做:
防爆.作为显示地图呈现的TIGER数据:

任何有经验和洞察我最好的方式阅读这些文件的人,我应该如何在我的程序中表示它们(数据库,内存数据结构),以及我应该如何渲染(使用旋转/缩放)地图数据在屏幕上将不胜感激.
编辑:澄清一下,我不想使用任何谷歌或雅虎地图API.同样,我不想使用OpenStreetMap.我正在寻找一种比使用那些apis /程序更划刮的方法.这将是一个桌面应用程序.