百度地图API调用实例之地址标注与位置显示
2014-02-11 16:11
183 查看
之前弄了个谷歌地图API标注的调用实例,后来要求改成百度地图。
感谢主,通过网上资料(百度地图API,百度地图API详解之地图标注)收集及研究,
终于把百度地图标注和显示功能实现出来了,具体实现方法如下:
1.依然是要弄个地图自定义控件:
BaiduMap.ascx.cs
2.
(1).标注:
注册地图控件:
调用地图控件:
后台指定是否启用控件标注位置功能为是:
这样,运行页面后即可点击鼠标进行标注:
因为是地址标注,所以只允许标注一次,每次新点击之后,会通过
清空之前点击的位置图标,并调用:
新建一个位置图标固定在新的点击位置(详细代码请参考上面的控件实现代码)
(注意看,下面的绿色图标位置与上面的不一样,并且之前的图标也被移除了):
同时把新的位置的坐标参数赋给一个隐藏域控件:
然后赋给后台的一个属性,保存时获取该地图控件的经纬度属性赋给某个实体Model的属性然后调用保存方法即可;
(2).显示:
前台一样的思路,也是调用控件:
注册地图控件:
调用地图控件:
页面加载时后台指定是否启用标注功能属性值为false,同时给控件经纬度属性赋值:
这样,页面就能显示地址图标并描述信息:
感谢主,通过网上资料(百度地图API,百度地图API详解之地图标注)收集及研究,
终于把百度地图标注和显示功能实现出来了,具体实现方法如下:
1.依然是要弄个地图自定义控件:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace Web.UserControl { public partial class BaiduMap : System.Web.UI.UserControl { Model.Product ProductModel = new Model.Product(); Model.Users UserModel = new Model.Users(); public string _coord; public bool _isopencoord; protected void Page_Load(object sender, EventArgs e) { } #region 属性 /// <summary> /// 经纬度 /// </summary> public string Coord { get { return _coord; } set { _coord = value; } } /// <summary> /// 是否开启设置经纬度功能。 /// true:确定开启;false:不开启 /// </summary> public bool IsOpenCoord { get { return _isopencoord; } set { _isopencoord = value; } } /// <summary> /// 产品编号 /// </summary> public string ProductID { get { try { return Request.QueryString["pid"].ToString(); } catch (Exception) { return string.Empty; } } } /// <summary> /// 会员编号 /// </summary> public string UserID { get { try { return Request.QueryString["uid"].ToString(); } catch (Exception) { return string.Empty; } } } /// <summary> /// 当前产品实体 /// </summary> public Model.Product ProModel { get { ProductModel.ProductID = ProductID; ProductModel.ProductName = string.Empty; ProductModel.Price = 0; ProductModel.ProductContent = string.Empty; return BLL.HSSM_Public_DB.ModelToSqlOne<Model.Product>(ProductModel, "ProductID=" + ProductID); } } /// <summary> /// 会员实体(卖家) /// </summary> public Model.Users UModel { get { UserModel.Address = string.Empty; return BLL.HSSM_Public_DB.ModelToSqlOne<Model.Users>(UserModel, "UserID=" + UserID); } } /// <summary> /// 店铺地址 /// </summary> public string ShopAddress { get { return UModel.Address; } } #endregion } }
BaiduMap.ascx.cs
2.
(1).标注:
注册地图控件:
<%@ Register Src="../UserControl/BaiduMap.ascx" TagName="BaiduMap" TagPrefix="uc5" %>
调用地图控件:
<uc5:BaiduMap ID="Map1" runat="server" />
后台指定是否启用控件标注位置功能为是:
Map1.IsOpenCoord = true;
这样,运行页面后即可点击鼠标进行标注:
因为是地址标注,所以只允许标注一次,每次新点击之后,会通过
//删除所有标注控件 map.clearOverlays();
清空之前点击的位置图标,并调用:
//新增一个标注控件,并在点击的时候标注在地图上 addMouseMarker();
新建一个位置图标固定在新的点击位置(详细代码请参考上面的控件实现代码)
(注意看,下面的绿色图标位置与上面的不一样,并且之前的图标也被移除了):
同时把新的位置的坐标参数赋给一个隐藏域控件:
$("#<%=hidCoord.ClientID %>").val(curpoint);
然后赋给后台的一个属性,保存时获取该地图控件的经纬度属性赋给某个实体Model的属性然后调用保存方法即可;
(2).显示:
前台一样的思路,也是调用控件:
注册地图控件:
<%@ Register Src="../UserControl/BaiduMap.ascx" TagName="BaiduMap" TagPrefix="uc5" %>
调用地图控件:
<uc5:BaiduMap ID="Map1" runat="server" />
页面加载时后台指定是否启用标注功能属性值为false,同时给控件经纬度属性赋值:
Map1.Coord = Coord;//Coord是本地某个变量或属性,表示具体的经纬度值,以“|”分隔开,如:“120.219375|30.259244” Map1.IsOpenCoord = false;
这样,页面就能显示地址图标并描述信息:
相关文章推荐
- HTML5调用百度地图API进行地理定位实例 ,定位当前位置
- 【Java】 java调用百度地图API根据地理位置中文获取经纬度 地址备忘
- web前端 H5 百度地图API 案列 <连续获取十个地址 并显示位置信息>
- 凨-百度地图API之地图标注(JS版),地理位置信息,根据地址获取经度纬度
- 百度地图API显示多个标注点并添加百度样式检索窗口
- 调用百度地图API实例
- 百度地图API应用之——利用定位SDK和地图SDK来进行定位和显示当前位置
- C# 调用IP库(QQWry.Dat)查询IP位置及自动升级IP库方法(附IP库下载地址及相关dll下载)
- Android Google Map实例 - 添加GPS位置标注(Android mapview)
- DEDECMS首页,列表页调用自定义图片字段,只显示图片地址
- 百度地图经纬度转换+反地址解析+显示可视区域内标注点+地图自动刷新+标注的聚合
- Javascript——百度地图API——显示位置
- 跨平台移动开发_PhoneGap 使用Geolocation基于所在地理位置坐标调用百度地图API
- sql server服务看不到,显示为远程过程调用在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误10061
- 一起talk C栗子吧(第一百五十四回:C语言实例--socket通信地址系统调用二)
- 【百度地图API】建立全国银行位置查询系统(三)——如何在地图上添加银行标注
- 利用百度地图API获取当前位置信息的实例
- 【PythonDjango后台实例 第五章】Bootstrap3 在HTML页面中显示调用本地时间并动态显示
- java调用百度地图api接口---转换非百度坐标和根据百度坐标转换地理位置
- 【百度地图API】如何利用自己的数据制作社交地图?只显示可视区域内的标注