获得百度地图静态图片
百度地图静态图片API: http://api.map.baidu.com/lbsapi/cloud/staticimg.htm
百度地图静态图API,可实现将百度地图以图片形式嵌入到您的网页中。您只需发送HTTP请求访问百度地图静态图服务,便可在网页上以图片形式显示您的地图。静态图API较之JavaScript API载入的动态网站,既能满足基本的地图信息浏览,又能加快网页访问速度。
通过给<img>标签设置src属性即可将地图图片显示在网页中。用户可以指定图片的尺寸、地图的显示范围(包含中心点和缩放级别),还可以放置一些覆盖物在地图上,以生成符合需求的地图图片。
- 显示高清地图:支持高清地图底图,可更好适配高分屏的移动设备。PNG格式的地图图片,地图大小、显示范围、缩放级别可设定。
- 添加标注点/标签:可生成添加多种覆盖物的地图图片,包括普通标注点、自定义样式标注点、标签、折线、多边形。
- 添加折线/面:支持生成带有折线、面等覆盖物的地图图片。
示例:
百度地图静态图片获取示例
https://api.map.baidu.com/staticimage/v2?ak=E4805d16520de693a3fe707cdc962045&mcode=666666¢er=116.403874,39.914888&width=300&height=200&zoom=11
//请将AK替换为您的AK
效果
C# 全选
/// <summary>
/// 百度地图静态图片API,文档:http://api.map.baidu.com/lbsapi/cloud/staticimg.htm
/// </summary>
public static class BaiduMapHelper
{
/// <summary>
/// 获取百度地图静态图片
/// </summary>
/// <param name="lng">中心点经度</param>
/// <param name="lat">中心点维度</param>
/// <param name="scale">返回图片大小会根据此标志调整。取值范围为1或2:
/// 1表示返回的图片大小为size= width * height;
/// 2表示返回图片为(width*2)*(height *2),且zoom加1
/// 注:如果zoom为最大级别,则返回图片为(width*2)*(height*2),zoom不变。</param>
/// <param name="zoom">地图级别。高清图范围[3, 18];低清图范围[3,19]</param>
/// <param name="markersList">标记列表,如果为null则不输出标记</param>
/// <param name="width">图片宽度。取值范围:(0, 1024]。</param>
/// <param name="height">图片高度。取值范围:(0, 1024]。</param>
/// <returns></returns>
public static string GetBaiduStaticMap(double lng, double lat, int scale, int zoom, IList<BaiduMarkers> markersList, int width = 400, int height = 300)
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("http://api.map.baidu.com/staticimage?");
stringBuilder.AppendFormat("center={0},{1}", lng, lat);
stringBuilder.AppendFormat("&width={0}", width);
stringBuilder.AppendFormat("&height={0}", height);
stringBuilder.AppendFormat("&scale={0}", scale);
stringBuilder.AppendFormat("&zoom={0}", zoom);
if (markersList != null && markersList.Count > 0)
{
stringBuilder.AppendFormat("&markers={0}", String.Join("|", (
from z in markersList
select String.Format("{0},{1}", z.Longitude, z.Latitude)).ToArray<string>()));
stringBuilder.AppendFormat("&markerStyles={0}", String.Join("|", (
from z in markersList
select String.Format("{0},{1},{2}", (object)z.Size.ToString(), z.Label, z.Color)).ToArray<string>()));
}
return stringBuilder.ToString();
}
}
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
post 管理员