我正在开发一个Android应用程序,并希望在DDMS工具中播放录制的曲目.除了纬度和经度,我记录的数据具有横向精度,我想传递给Android手机模拟器.
有没有办法指定GPX或KML格式的准确性?
我试图在谷歌地图上以不同的位置和大小绘制多个圆圈(大约1000个),然后将点击事件绑定到它们.但是这很多次调用new google.maps.Circle(parameters);会使页面加载速度变慢,有时它会永远挂起,所以我想弄清楚是否有更好/更快的方法来完成我想要做的事情.
我看到有一个叫做kml图层的东西,但似乎没有任何简单的方法可以用它绘制实心圆圈,我不确定我是否仍然可以将点击事件绑定到图层中的每个圆圈.
查看Google KML常见问题解答页面上的圈子解决方法,我不确定生成包含数千个类似于此的圈子的KML文件是否会随时节省.
我也不知道如何生成这个kml文件.
最后,考虑到我正在拉动我试图从数据库中绘制的圆圈,因此我必须动态生成KML文件以供使用,或者每次删除圆圈时生成新文件或从数据库添加,以便文件保持最新.
当然,如果有另一种选择,我全都耳朵!
我是Python的新手.我正在研究gps文件.我需要将包含所有gps数据的CSV文件转换为kml文件.下面是我正在使用的python中的代码:
import csv
#Input the file name.
fname = raw_input("Enter file name WITHOUT extension: ")
data = csv.reader(open(fname + '.csv'), delimiter = ',')
#Skip the 1st header row.
data.next()
#Open the file to be written.
f = open('csv2kml.kml', 'w')
#Writing the kml file.
f.write("<?xml version='1.0' encoding='UTF-8'?>\n")
f.write("<kml xmlns='http://earth.google.com/kml/2.1'>\n")
f.write("<Document>\n")
f.write(" <name>" + fname + '.kml' +"</name>\n")
for row in data:
f.write(" <Placemark>\n")
f.write(" <name>" + str(row[1]) + "</name>\n")
f.write(" <description>" + str(row[0]) + "</description>\n")
f.write(" <Point>\n")
f.write(" <coordinates>" + str(row[3]) …Run Code Online (Sandbox Code Playgroud) 我正在通过Google Map的V3 API加载KML文件.正在使用KML文件中的颜色,但我想用自己的颜色覆盖它.我实际上想要在整个轨迹上使用纯色.有没有办法做到这一点?
我试图保护我的KML文件,免于下载或轻松提取其数据.我想要的只是在google maps或google earth中查看的文件,但不允许任何人下载它或"轻松"提取数据(kml文件不会公开发布).我的kml文件是深度和独家分析的结果,这是我想要隐藏竞争对手的签名.
还有任何替代方法可以将kml转换为无法从中轻松获取数据的格式.我的KML文件包含3D多边形.
我理解可以看到的所有内容的概念都可以以某种方式下载或提取,
将侦听器附加到KML层:
var layer = new google.maps.KmlLayer('http://sites.google.com/site/kmlprototypes/kmls/temp.kml?dc_=' + Math.random(),
{suppressInfoWindows:true,preserveViewport:true});
layer.setMap(map);
google.maps.event.addListener(layer, 'click', function (obj) {
alert(obj.featureData.id);
});
Run Code Online (Sandbox Code Playgroud)
KML文件有效(通过验证api检查),您可以在此处找到它.XML中的每个地标都有id属性,如:
<Placemark id="46">
<Style>
<IconStyle>
<Icon>
<href>
<![CDATA[http://chart.apis.google.com/chart?chf=bg,s,EAF7FE02&chxt=y&chbh=a,4,4&chs=48x48&cht=bvg&chco=FF0000,0000FF&chds=20,9048.00,0,9048.00&chd=t:8149.00|9048.00]]>
</href>
</Icon>
</IconStyle>
</Style>
<Point>
<coordinates>30.49566650390625,50.721378326416016</coordinates>
</Point>
</Placemark>
Run Code Online (Sandbox Code Playgroud)
当点击谷歌地图对象中的地标时返回正确的ID,但有时大约50%的时间obj.featuredData.id是null(ZERO_RESULTS状态在status字段中).我尝试过不同的数据集(从100点到1000点),但没有用.我也尝试过lat,lng的不同精度.
[编辑]似乎问题来自谷歌地图需要一些时间来更新KML链接...我不确定,但最终,它的工作... [/编辑]
我在这个网站上嵌入了一个现有的公共谷歌地图:http://www.ridetheflavour.fr
以下是公共地图的链接:https://maps.google.fr/maps/ms?msa = 0&msid = 211027213468691902621.0004c8616605648d245b2
如您所见,网站嵌入式地图的标记与公共谷歌地图标记不匹配.看来这不是浏览器缓存的问题......
这是我正在使用的javascript片段(谷歌地图API V3):
var mapOptions = {
center: new google.maps.LatLng(24.797409,-5.449219),
zoom: 3,
mapTypeId: google.maps.MapTypeId.TERRAIN,
overviewMapControl: false,
streetViewControl: false
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
mapOptions);
var georssLayer = new google.maps.KmlLayer('https://maps.google.fr/maps/ms?ie=UTF8&authuser=0&msa=0&output=kml&msid=211027213468691902621.0004c8616605648d245b2');
georssLayer.setMap(map);
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
我有一个要求,当我选择时,我必须在两个标记之间画一条路线.我已在Google MAPS API上成功上传了KML文件,因此标记在Google MAPS API上清晰可见.
当我选择两个标记点击时,应该在所选标记之间绘制一条路线.我能够在两点之间绘制一条静态路线,但是被绘制的线路并没有跟随路线.请指导.另请查找我尝试过的代码.提前致谢.
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<title>Transit layer</title>
<style>
html,body,#map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
</style>
<link href="/maps/documentation/javascript/examples/default.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript" src="http://geoxml3.googlecode.com/svn/branches/polys/geoxml3.js"></script>
<script> function initialize()
{
var myLatlng = new google.maps.LatLng(0, -180);
var mapOptions =
{
zoom: 13,
center: myLatlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var transitLayer = new google.maps.TransitLayer();
transitLayer.setMap(map);
var geoXml = new geoXML3.parser({map: map, singleInfoWindow: …Run Code Online (Sandbox Code Playgroud) 是否有任何开源库(最好是python)将kml文件转换为图像文件?
我有一个基于Web的开源应用程序,允许用户在Google地球地图上绘制形状,我想为他们提供一个包含他们绘制的形状的地图的PDF.
现在向用户提供了使用Print Screen或导出kml的说明,但前者看起来有点蹩脚,后者除非能够访问其他软件,否则不会给他们提供图像.
这是个梦想吗?
是否可以从OpenLayers编写和保存KML?有人知道出口一个例子吗?
kml ×10
google-maps ×5
javascript ×5
google-earth ×3
python ×2
android ×1
csv ×1
geometry ×1
gps ×1
gpx ×1
html ×1
open-source ×1
openlayers ×1
security ×1