FineUI与百度地图简单示例 (转帖)
http://www.fineui.com/bbs/forum.php?mod=viewthread&tid=4191&extra=page%3D1
前台代码
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Map.aspx.cs" Inherits="EmptyProjectNet40.Map" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title></title> <style type="text/css"> .columnpanel { margin-right: 5px; } .rowpanel { margin-bottom: 5px; } </style> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.5&ak=C2c1257ee55b0cdb7d7df0ae4c3f4521"></script> </head> <body> <form id="form1" runat="server"> <x:PageManager ID="PageManager1" runat="server" /> <x:Panel ID="Panel2" runat="server" Height="500px" Width="900px" ShowBorder="True" BodyPadding="5px" Layout="Column" ShowHeader="True" Title="百度地图示例"> <Items> <x:Panel ID="Panel4" ColumnWidth="75%" EnableBackgroundColor="true" runat="server" CssClass="columnpanel" BodyPadding="5px" ShowBorder="true" ShowHeader="true" Layout="Fit" Height="464px" Title="地图"> <Toolbars> <x:Toolbar ID="Toolbar1" runat="server" Position="Top"> <Items> <x:Button runat="server" ID="Button1" Text="移动当前城市" EnablePostBack="false" OnClientClick="panTo();"> </x:Button> </Items> </x:Toolbar> </Toolbars> <Items> <x:ContentPanel runat="server" ShowBorder="True" ShowHeader="false"> <div id="container1" style="width:100%; height:400px; "></div> </x:ContentPanel> </Items> </x:Panel> <x:Panel ID="Panel3" ColumnWidth="25%" EnableBackgroundColor="true" runat="server" BodyPadding="5px" ShowBorder="true" ShowHeader="true" Height="464px" Title="坐标"> <Items> <x:Grid ID="Grid1" Title="表格" PageSize="4" ShowBorder="true" ShowHeader="False" runat="server" Height="427px" IsDatabasePaging="true" EnableRowDoubleClickEvent="true" OnRowDoubleClick="Grid1_RowClick"> <Columns> <x:BoundField Width="55px" DataField="CityName" DataFormatString="{0}" HeaderText="地区" /> <x:BoundField Width="75px" DataField="pointX" DataFormatString="{0}" HeaderText="经度" /> <x:BoundField Width="75px" DataField="pointY" DataFormatString="{0}" HeaderText="纬度" /> </Columns> </x:Grid> </Items> </x:Panel> </Items> </x:Panel> </form> <script type="text/javascript"> var map; var gridClientID = '<%= Grid1.ClientID %>'; var gc; function onReady() { map = new BMap.Map("container1"); // 创建地图实例 var point = new BMap.Point(116.404, 39.915); // 创建点坐标 map.centerAndZoom(point, 15); map.addEventListener("click", showInfo); //百度API注册单击事件 gc = new BMap.Geocoder(); } //移动到当前城市 function panTo() { var myCity = new BMap.LocalCity(); myCity.get(myFun); } //移动到某个经度和纬度 function PanToCity(x,y) { map.panTo(new BMap.Point(x, y)); } function myFun(result) { var cityName = result.name; map.setCenter(cityName); } //百度API点击回调事件 function showInfo(e) { //可以把获取到的经度和纬度保存起来,或者动态添加到Grid中 var pt = e.point; gc.getLocation(pt, function (rs) { var addComp = rs.addressComponents; __doPostBack(addComp.city + "," + e.point.lng + "," + e.point.lat, 'specialkey');//获取坐标简单拼装发送给服务端 });
} </script> </body> </html>
后台代码
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using Newtonsoft.Json.Linq; using FineUI;
namespace EmptyProjectNet40 { public partial class Map : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { GetData(); } else { if ( Request.Form["__EVENTARGUMENT"] == "specialkey") { string req = Request.Form["__EVENTTARGET"]; string[] point=req.Split(','); if (point.Length > 1) { JObject defaultObj = new JObject(); defaultObj.Add("CityName", point[0]); defaultObj.Add("pointX", point[1]); defaultObj.Add("pointY", point[2]); DataTable dbt = (DataTable)Session["KEY_FOR_DATASOURCE_SESSION"]; dbt.Rows.Add(new object []{point[0],point[1],point[2]}); Session["KEY_FOR_DATASOURCE_SESSION"] = dbt; Grid1.DataSource = dbt; Grid1.DataBind(); } } } } protected void Grid1_RowClick(object sender, FineUI.GridRowClickEventArgs e) { DataTable dbt = (DataTable)Session["KEY_FOR_DATASOURCE_SESSION"]; DataRow dr = dbt.Rows[e.RowIndex]; string x = Convert.ToString(dr["pointX"]); string y = Convert.ToString(dr["pointY"]); PageContext.RegisterStartupScript("PanToCity(" + x + "," + y + ");"); } private DataTable dt; public void GetData() { dt = new DataTable(); dt.Columns.Add("CityName"); dt.Columns.Add("pointX"); dt.Columns.Add("pointY"); dt.Rows.Add(new object[] { "北京市", "116.222", "39.2222" }); dt.Rows.Add(new object[] { "武汉市", "114.333", "30.222"}); Grid1.DataSource = dt; Grid1.DataBind(); Session["KEY_FOR_DATASOURCE_SESSION"] = dt; } } }
FineUI与百度地图简单示例 (转帖)的更多相关文章
- 百度地图API示例之设置级别setZoom与禁止拖拽disableDragging
百度地图API示例之设置级别setZoom与禁止拖拽disableDragging 设置级别 <html> <head> <meta http-equiv="C ...
- [置顶]
Xamarin android如何调用百度地图入门示例(一)
在Xamarin android如何调用百度地图呢? 首先我们要区分清楚,百度地图这是一个广泛的概念,很多刚刚接触这个名词"百度地图api",的确是泛泛而谈,我们来看一下百度地图的 ...
- iOS百度地图简单使用详解
iOS百度地图简单使用详解 百度地图 iOS SDK是一套基于iOS 5.0及以上版本设备的应用程序接口,不仅提供展示地图的基本接口,还提供POI检索.路径规划.地图标注.离线地图.定位.周边雷达等丰 ...
- Android 百度地图 简单实现--- 美食搜索
Android 百度地图 简单实现--- 美食 依赖包: 加入 Android 百度依赖包: 1 key: <!-- 开发人员 key --> <meta-dat ...
- iOS百度地图简单使用
本文介绍三种接口: 1.基础地图2.POI检索3.定位 首先是配置环境,有两种方法,方法在官方教程里都有,不再多说 1.使用CocoaPods自动配置[这个方法特别好,因为当你使用CocoaPods配 ...
- 百度地图简单使用——添加折线,圆形等(html,js)
地图覆盖物概述 所有叠加或覆盖到地图的内容,我们统称为地图覆盖物.如标注.矢量图形元素(包括:折线和多边形和圆).信息窗口等.覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动. 地图A ...
- 百度地图API示例之移动地图
级别为6 级别为8 级别为12 代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Conten ...
- 百度地图API示例之根据城市名设置地图中心点
代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" con ...
- 百度地图API示例之设置地图最大、最小级别
代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" cont ...
随机推荐
- zabbix LLD 自定义脚本
一 前言 二 懒人必备zabbix监控之 LLD (low level discovery) 本次的教程是我想监控kafka的消费情况,举个栗子 [root@VM_0_98_centos bin]# ...
- harbor私有镜像仓库的搭建与使用与主从复制
harbor私有镜像仓库,私有仓库有两种,一种是harbor,一种是小型的私有仓库,harbor有两种模式,一种是主 从,一种是高可用仓库,项目需求,需要两台服务器,都有docker.ldap权限统一 ...
- ansible with_subelements
with_subelements 循环列表中的子元素 (意想不到的地方会用到) --- - hosts: web tasks: - authorized_key: "user={{ item ...
- 深度分析:Android中Mms设置页面更改短信中心号码流程
相关控件初始化方法:showSmscPref private void showSmscPref() { int count = MSimTelephonyManager.getDef ...
- diary of django
1.安装django -> pip install django ----- 某些时候竟然需要FQ 2.JsonResponse 需要 (不需要了,django.http自带) pip i ...
- SWIFT显示底部的工具条
有以下页面显示我的讯息,用户可以点击右上角的编辑按钮进入删除状态.点击编辑按钮后,按钮文字改为“取消”,左上角的按钮变为“全选”,同时显示底部工具条带有“删除”按钮 实现起来挺简单的,在正常状态下点击 ...
- PAT 天梯赛 是否完全二叉搜索树 (30分)(二叉搜索树 数组)
将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果. 输入格式: 输入第一行给出一个不超过20的正整数 ...
- HDU 4585
http://acm.hdu.edu.cn/showproblem.php?pid=4585 从原来的人中找出战斗数值最接近的,输出他们两人的序号 要在logn的复杂度完成查找,我用的是set,当然用 ...
- SharePoint 2010: Change welcome page on PowerShell
摘要: SharePoint 2010之后呢, 建立一个 Team Site会有两个 default page, 分别是 Sitepages/home.aspx and default.aspx. 这 ...
- liunx系统和其它的基本命令
1.su 更换用户 2.sudo 管理员权限 3.PATH 4.sudo shutdown -h now 现在关机 sudo shutdown -r now 现在重启 5.kill ...