Google Maps by asp.net API集成-S.Sams
您只需要定位经纬度就可以轻易实现 Google Maps, 让您在轻松的C#环境中非常简便地实现基于 javascript 的地图, 您不用去查找 google 大量的地图文档便可轻松完成复杂的地图功能, 当然您同样可以在当前生成的基础上进行扩展, 实现更加个性化的地图!
对 Google Maps API 全面集成!
生成一张地图, 就是这么简单
Init inits = new Init("showmymap"); List<Label> labels = new List<Label>() { new Label(){X = 23.134391,Y = 113.287550} }; MapScript.Text = new Maps(AppId, inits, labels).ToString();
下载Demo实例: http://code.google.com/p/donetgooglemapsapi/downloads/list 如果您需要更多的个性化功能, 接着往下看(系统设置项).
2008-08-28 新增
增加多标签 Tab 项支持 Javascript 脚本压缩输出 增加用户自定义标注支持 用户自定义标注点支持消息显示和回调函数自定义 CallBack 改进 google maps 处理流程 标注点 ZoomIn 支持 0 值, 不改当前地图的 ZoomIn 值 增加地图启用鼠标滚轮动作控制
2008-08-29 新增
增加标注点缩略图预览 Label.IsShowMapView = true 即可! 增加支持将地图输出为图片
2008-08-30 新增
增加标注点支持消息显示框放大和内容重置 增加支持地图搜索功能 支持地图Javascript引擎地址自定义(可切换到 http://ditu.google.com/) 重写标注点定义
2008-09-08 更新
修正地图生成图片bug 动态加载 javascript onload / onunload 事件
源代码SVN: http://donetgooglemapsapi.googlecode.com/svn/trunk/
看下如何实现
/// <summary> /// MapPageBase 处理了 // οnlοad="initialize()" οnunlοad="GUnload()" 这两个事件, 如果不使用继承, 请自行处理该事件! /// </summary> public partial class Example : MapPageBase { protected void Page_Load(object sender, EventArgs e) { // 在这里申请你的 AppKey // http://code.google.com/apis/maps/signup.html string AppId = "ABQIAAAAT2TW27KPpzTcS3Av9rRZ8xTMc_QNvQYPZO4F6J-ygmVXuqkocRS6gkKMvUKO2am7UGh-wFKm8McGSQ"; //默认初始化 //Init inits = new Init("showmymap",15); Init inits = new Init("showmymap") { Maptype = MapType.G_PHYSICAL_MAP}; // 定义经纬度坐标点 List<Label> labels = new List<Label>() { new Label() { X = 23.134391, Y = 113.287550, // ------------- 以下是可选项, 可以不设置, 使用系统的默认值 ------------ IsCenter = true, // 设置中心点, 存在多点只设置一点即可 Msg = "一起飞国际机票网", MsgMaxContent = "信息框放大显示的内容,可以为空,不设置!", MsgMaxTitle = "显示的标题, 可以为空,不设置!" // ------------------------------------------------------------------ } }; // 设置地图入参 Maps map = new Maps(AppId, inits, labels); // 生成地图 MapScript.Text = map.ToString(); // 生成图片地图 ShowStaticMap.ImageUrl = map.ToImagePath(500, 500); } }
系统设置项
-----------------------------------------------
发布.net项目开发工具(V3.0 ):
http://www.cnblogs.com/mrhgw/archive/2008/08/06/1261664.html
http://www.mrhgw.cn/
不知道LZ是否再能增加一个 根据城市名称搜索经纬度功能。这样的话,那就太好喽:-)
虽然google map没有公开根据地图搜索经纬度(定位),但是可以通过一些方法获取到~~~。
希望LZ实现哦。
再赞一个
其实很多地图提供商都提供了对外的接口, 不过都是基于javascript的(可能是我找不到基于asp.netC#的接口吧), 而且得阅读大量的文档, 其实挺痛苦的.
关于坐标定位的问题, 其实是可以做到的, 你可以监控一下 google 的地图搜索的数据流, 就可以得到生成的地址, 可以以 JSON / XML 的方式输出.
而 API的集成 是通用的. 如果你的企业是用 google 的企业版本的地图, 数据可以直接拷贝到您的本地服务器.
S.Sams: @平静中的疯狂
好大顶帽!, 哈!
只是做了一些力所能及事罢了!
--------------------------------------------------------
确实不错!
看来还是比较实用的, 有这么多人支持.再教一个大家比较实用的技巧.
是关于经纬数据方面的, 想获取精确的经纬度数据请按下面的请求方式即可得到.
Method: GET
RequestUrl:
Http: Header:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
Return Result:
[{"address":"中国广东省广州市越秀区环市东路368号花园酒店","quality":100,"bb":{"ll":{"lat":23.135087050000003,"lon":113.28625885},"ur":{"lat":23.135096949999998,"lon":113.28635315},"latSpan":4.9499999992264065E-6,"lonSpan":4.715000000032887E-5},"lat":23.135092,"lon":113.286306,"spellCorrection":false}]