[转]Google Maps by asp.net API集成-S.Sams

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 处理了 // onload="initialize()" onunload="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);
}
}

系统设置项

    -- S.Sams Lifexperience!
posted @ 2008-09-09 09:29 S.Sams 阅读(2890) 评论(38)  编辑 收藏 所属分类: Javascript 应用实例Web标准

  回复  引用  查看    
#1楼 2008-09-09 09:43 | Justin      
赞一个!
  回复  引用  查看    
#2楼 2008-09-09 09:46 | 有容乃大      
收藏了,谢。

-----------------------------------------------
发布.net项目开发工具(V3.0 ):
http://www.cnblogs.com/mrhgw/archive/2008/08/06/1261664.html
http://www.mrhgw.cn/
  回复  引用    
#3楼 222.66.76.*2008-09-09 09:48 | 晕倒 [未注册用户]
http://www.51ditu.com/ 早就提供了对外接口了

  回复  引用  查看    
#4楼 2008-09-09 09:48 | m2land      
不错,谢谢!
  回复  引用  查看    
#5楼 2008-09-09 09:56 | 平静中的疯狂      
不错不错,这个一定得赞一个。
不知道LZ是否再能增加一个 根据城市名称搜索经纬度功能。这样的话,那就太好喽:-)
虽然google map没有公开根据地图搜索经纬度(定位),但是可以通过一些方法获取到~~~。
希望LZ实现哦。
再赞一个
  回复  引用    
#6楼 122.234.53.*2008-09-09 09:58 | andywu [未注册用户]
赞一个,强烈支持。
  回复  引用    
#7楼 60.191.245.*2008-09-09 10:01 | shangfc [未注册用户]
mark
  回复  引用  查看    
#8楼 [楼主]2008-09-09 10:01 | S.Sams      
开发的初衷只是为了团队使用的便捷, 共享劳动成果, 不用每个人都花时间去了解这一部分.

  回复  引用  查看    
#9楼 [楼主]2008-09-09 10:04 | S.Sams      
@晕倒
其实很多地图提供商都提供了对外的接口, 不过都是基于javascript的(可能是我找不到基于asp.netC#的接口吧), 而且得阅读大量的文档, 其实挺痛苦的.
  回复  引用  查看    
#10楼 [楼主]2008-09-09 10:06 | S.Sams      
@平静中的疯狂
关于坐标定位的问题, 其实是可以做到的, 你可以监控一下 google 的地图搜索的数据流, 就可以得到生成的地址, 可以以 JSON / XML 的方式输出.
而 API的集成 是通用的. 如果你的企业是用 google 的企业版本的地图, 数据可以直接拷贝到您的本地服务器.
  回复  引用  查看    
#11楼 2008-09-09 10:11 | 平静中的疯狂      
@S.Sams
做了一件好事啊
  回复  引用  查看    
#12楼 [楼主]2008-09-09 10:15 | S.Sams      
@平静中的疯狂
好大顶帽!, 哈!
只是做了一些力所能及事罢了!
  回复  引用  查看    
#13楼 2008-09-09 11:20 | 李振华      
不错
  回复  引用  查看    
#14楼 2008-09-09 11:29 | 簡簡單單..      
正好用到, 谢谢..
  回复  引用  查看    
#15楼 2008-09-09 11:33 | 岁寒づ古枫      
--引用--------------------------------------------------
S.Sams: @平静中的疯狂
好大顶帽!, 哈!
只是做了一些力所能及事罢了!
--------------------------------------------------------
确实不错!
  回复  引用    
#16楼 221.243.27.*2008-09-09 12:17 | a王者之剑 [未注册用户]
很不错的东东
  回复  引用  查看    
#17楼 2008-09-09 13:24 | peace      
无条件支持下
  回复  引用  查看    
#18楼 2008-09-09 13:35 | 一挥      
太好,实用技术!
  回复  引用  查看    
#19楼 [楼主]2008-09-09 13:41 | S.Sams      

看来还是比较实用的, 有这么多人支持.再教一个大家比较实用的技巧.
是关于经纬数据方面的, 想获取精确的经纬度数据请按下面的请求方式即可得到.

Method: GET

RequestUrl:

http://picasaweb.google.com/lh/geocode?tok=LQSUh1KHmVTVJIlMLt_XsYh6eCk&location=%E4%B8%80%E8%B5%B7%E9%A3%9E%E5%9B%BD%E9%99%85%E6%9C%BA%E7%A5%A8%E7%BD%91&alt=json

Http: Header:

Accept: image/gif, image/x-xbitmap, image/jpeg, application/x-ms-application, application/vnd.ms-xpsdocument, application/xaml+xml, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, application/x-silverlight-2-b2, application/x-shockwave-flash, image/pjpeg, */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; TencentTraveler ; SLCC1; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.5.21022; OfficeLiveConnector.1.0; CIBA; .NET CLR 3.5.30729; .NET CLR 3.0.30618)
Host: picasaweb.google.com
Connection: Keep-Alive
Cookie: testcookie=; lh=DQAAAKIAAADtVe3W7NrHFgR0O_f_BR7Y60_UgXAmvyfsW1AYGEZlLr1jcVLviwB5nOSv2GbriqcCP9tTEc0_5PApnWgzk72B4PeUTEg889ilPorEqBct_QyfB_SZ5YFBrEx5UMfhG3ryiv9CN6uIKyKE5XxQ31vtJTz1mNW4TF62u6e8u2f57gezfHvxYYbL_6UN14DcN_tUhoviBJnfa9xR83-7FhvbeAVtvTKm2tx3BTTv6XyUAA; PREF=ID=535885dfae0f29e4:LR=lang_zh-CN|lang_zh-TW|lang_en:LD=en:NR=10:NW=1:CR=2:TM=1215836647:LM=1219901909:DV=AA:GM=1:S=7FuzlmtP5x1pwots; NID=14=ao65F7VymJbP7CcXI4e8_s2FH5kNvYTK-_ao8HLouTer-arg-6idiEGEImb5uTNPFvuT5oFRssjZBBXOuOjNiXv0OTuOYXQ6vNJ7jO3cLSh7zyIOtdf7UDBlF-K1EuiY; SID=DQAAAKEAAAAd_u32BTcj_9yK9K8Jdat6cSQp29PfJkQMrs3ki_v8UQGpht0T4R4HRKUNOIB-0z-Ta_Kb4JckyKYKruFMEoyqCTdrCxja9yz5QalD36df3WHR8Py2NkvWGcWa3YBdTmz40tpofjqf17g2E1iEncxcSglVDJQQprTAQhubrBvfgTOQ6NKXnp7GuTb2xxflIdUgxgqf7W6yJXdZl3wpC-STRBoK2G90t1MQkeFrpk-3Bw; testcookie=


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}]

posted @ 2008-09-25 15:19  jamin  阅读(1503)  评论(0编辑  收藏  举报