Google Map二次开发——API方式

 首先来看一个很好的应用实例 http://www.housingmaps.com/, 这是一个卖房子的网站,将买卖信息使用GIS标注。

    除此以外,http://googlemapsmania.blogspot.com/, 这里记录了所有使用GM的应用,首页上描述“总统竞选分布”的应用个人觉得比较无聊。不过看看这些应用,发现都是用的美国的地图,中国都选不上,很郁闷。

   后头再来说我想做的工作,实际是一个基于GIS的快递追踪的应用。Demo版本是一点点丰富起来的,最初就是一个HTML页面,请求Google服务器的地理信息,显示位置和连线。后来发现,Google提供的这种地址按名称译码的功能对于在线应用来说,耗时而且不能保证正确性,所以进化方案为使用应用程序批量POST请求,将地址信息全部存储到本地数据库中去。这里持久层使用了Hibernate,简化了代码编写(框架部署是要耗点时间的)。这两部分完成,相当于地图显示和地理数据都齐全了,准备工作至此告一段落。我又将Struts引入了设计框架,思路是这样的:客户端提交一个订单请求,服务端处理这一请求,派发给地图显示的页面。这中间的控制就是Struts的战场,当然引入它更主要的是考虑到后面复杂的控制需要。接下来的问题似乎更复杂了,Action似乎引入了业务处理(根据单号读取数据库),而且由于Google Map使用的都是js,服务端和客户端传送显示对象是个大工程,而且处理不好就可能破坏结构。怎么办呢?后来我想到用Ajax远程调用服务端的方法解决问题,这个思路和Google Map一致,在同一个页面内调用Google Map的js也更方便些。于是又有了将DWR融入框架的想法,做了个DWR调用远程方法返回对象数组的Demo发现可行,于是开始了框架的整合。首先是Struts控制页面跳转,但将业务处理移出Action的excute方法。跳转到地图显示页面时,Ajax调用方法查询数据库,取得要显示的数据,等待返回后使用Map API显示出来,整个Demo建设过程结束。

     总结一下,中间遇到问题无数,解决的方式也是各种各样。现在能想起来的有DWR的配置,对象转换的参数名都是首字母小写的(大写是不能被识别的),书写的顺序好像是和bean定义的顺序相反(这个没有验证,因为后来发现不用<param>标签更好用)。还有各种稀奇古怪的js错误提示,也让人很崩溃,完全不知所云,比如下面这个,在使用Map API时报错“this.C  has no properties”,竟然是定义GLatLng对象没有new造成的。还有Hibernate2配置SQLServer的时候也遇到一堆问题(比如配置文件和映射文件应该放在src下,无论是App还是Web),可惜比较久远了,忘得差不多了,就记得3和MyEclipse结合后就比2好用多了,建议学习的时候看2的理论和设计,实践的时候使用3+MyEclipse。

    (本文有时间还是会继续补充的。这个过程有个PPT记录,作为项目文档保留。)


本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/anna_yu_06/archive/2008/11/01/3197188.aspx

### GEE (Google Earth Engine) 网页端二次开发教程 #### 使用指南与资源链接 对于希望深入了解如何在GEE网页端进行二次开发的开发者而言,官方提供了详尽的帮助文档和社区支持。访问[官方指南](https://developers.google.com/earth-engine)[^2]可以获得关于API调用、脚本编写等方面的指导。 #### 开发环境设置 为了更好地利用GEE的功能,建议先熟悉JavaScript编程语言,因为这是主要用于编写自定义算法的语言之一。通过浏览器中的控制台可以直接执行简单的命令测试效果;而对于更复杂的项目,则推荐使用IDE集成工具如VSCode配合插件来进行高效编码[^1]。 #### 数据处理技巧 当涉及到大规模遥感数据分析时,理解`.map()`方法的应用范围及其局限性非常重要。需要注意的是,该函数不允许包含`print`, `if`, 或者`for`这样的控制结构,并且同样适用于`.iteration()`操作中[^4]。因此,在设计映射逻辑时应尽量保持表达式的简洁性和纯功能性。 #### 可视化与导出选项 尽管内置的地图可视化组件提供了一定程度上的便利,但在某些情况下可能无法满足特定需求。此时可以通过其他方式实现更加灵活的结果展示——比如借助外部库创建交互式图表或将最终产物保存至云端存储服务后再做进一步分享。 #### 实际案例研究 考虑到实际应用场景往往更为复杂多样,探索已有的成功实例能够帮助快速积累经验。查阅相关论文或参加线上研讨会都是不错的选择,从中不仅可以学到前沿技术还能结识同行建立人脉网络[^5]。 ```javascript // 示例代码:加载MODIS NDVI数据集并计算平均值 var dataset = ee.ImageCollection('MODIS/006/MOD13A2') .filterDate('2020-01-01', '2020-12-31'); var ndvi = dataset.select('NDVI').mean(); Map.setCenter(-73.9982, 40.7306, 8); Map.addLayer(ndvi, {min: 0, max: 9000}, 'NDVI Mean'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值