如何用python编程控制GoogleEarth

如题所述

Google的没用过,百度的用过,挺简单的。你可以使用我的开发者代码去体验一下。

    import urllib2
    import json
    address = u'沈阳市和平区三好街'
    key = u'RG3NWsfviWGCbRbWEXeY78BP'
    url = u'http://api.map.baidu.com/geocoder/v2/?address=%s&output=json&ak=%s' % (address, key)
    url = url.encode('utf-8')
    response = urllib2.urlopen(url)
    response_text = response.read()
    #获取指定位置的经纬度
    x = json.loads(response_text)[u'result'][u'location'][u'lng']
    y = json.loads(response_text)[u'result'][u'location'][u'lat']

上面那个例子是后台获取坐标的

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
body, html{width: 100%;height: 100%;margin:0;font-family:"微软雅黑";}
#l-map{height:70%;width:100%;}
#r-result {width:100%; font-size:14px;line-height:20px;}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=RG3NWsfviWGCbRbWEXeY78BP"></script>
<title>获取公交换乘的数据接口</title>
</head>
<body>
<div id="l-map"></div>
<div id="r-result"></div>
</body>
</html>
<script type="text/javascript">
// 百度地图API功能
var map = new BMap.Map("l-map"); 
map.centerAndZoom(new BMap.Point(124.23, 40.07), 13);
map.enableScrollWheelZoom();

var transit = new BMap.TransitRoute(map, {renderOptions: {map: map},onSearchComplete: function(result){       
if (transit.getStatus() == BMAP_STATUS_SUCCESS){
var firstPlan = result.getPlan(0);
// 绘制步行线路
for (var i = 0; i < firstPlan.getNumRoutes(); i++){
var walk = firstPlan.getRoute(i);
if (walk.getDistance(false) > 0){
// 步行线路有可能为0
map.addOverlay(new BMap.Polyline(walk.getPath(), {lineColor: "green"}));
}
}
// 绘制公交线路
for (i = 0; i < firstPlan.getNumLines(); i++){
var line = firstPlan.getLine(i);
map.addOverlay(new BMap.Polyline(line.getPath()));
}
// 输出方案信息
var s = [];
for (i = 0; i < result.getNumPlans(); i++){
s.push((i + 1) + ". " + result.getPlan(i).getDescription());
}
document.getElementById("r-result").innerHTML = s.join("<br/>");
}
}
});
//transit.search("沈阳市和平区三好街", "北行");
</script>

这个例子是后台获取坐标后送到前台,然后调用公交接口,

这两个例子都是可以单独运行的,你自己是一下吧。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-09
Python是个非常舒服的语言,比如你这句
start,stop=0,start
其实已经完成了两个赋值操作
1.start=0
2.stop=startps

p.s.这种方法有什么用处呢?在交换数字的时候特别有用
比如你a=3,b=4
你写成a,b=b,a
执行完后a=4,b=3
就直接完成了两个数字交换的操作,PYTHON魅力所在啊!
甚至可以交换N个数字
a=3,b=4,c=5
写成a,b,c=b,c,a
执行完后a=4,b=5,c=3

好了,第一个问题解答完了。

第二个问题,如果输入interval(10),我们来看下怎么执行的。
因为只有一个参数,所以start被赋值了,值为10,即start=10,stop=None,step=1 后面两个参数默认

所以start,stop=0,start 执行完后 start=0,stop=10(明白了吧)
所以i=start=0 并非你说的i=start=10
所以程序就进入while循环啦
之后应该不用我解释了哈!

Python是一个非常好玩的脚本语言,希望你能坚持!我学了一个多月了,越来越热爱它了,加油!共勉之!
第2个回答  2015-01-06
需要调用api