You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

95 lines
3.7 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

/*----------------------------------------------------------------
Copyright (C) 2023 Senparc
文件名LocationService.cs
文件功能描述:地理位置信息处理
创建标识Senparc - 20150312
----------------------------------------------------------------*/
//DPBMARK_FILE MP
using System.Collections.Generic;
using Senparc.Weixin.MP.Entities;
using Senparc.CO2NET.Helpers.BaiduMap;
using Senparc.CO2NET.Helpers.GoogleMap;
using Senparc.Weixin.MP.Helpers;
using Senparc.CO2NET.Helpers;
using Senparc.NeuChar.Entities;
namespace Senparc.Weixin.Sample.CommonService
{
public class LocationService
{
public ResponseMessageNews GetResponseMessage(RequestMessageLocation requestMessage)
{
var responseMessage = ResponseMessageBase.CreateFromRequestMessage<ResponseMessageNews>(requestMessage);
#region 百度地图
{
var markersList = new List<BaiduMarkers>();
markersList.Add(new BaiduMarkers()
{
Longitude = requestMessage.Location_X,
Latitude = requestMessage.Location_Y,
Color = "red",
Label = "S",
Size = BaiduMarkerSize.m
});
var mapUrl = BaiduMapHelper.GetBaiduStaticMap(requestMessage.Location_X, requestMessage.Location_Y, 1, 6, markersList);
responseMessage.Articles.Add(new Article()
{
Description = string.Format("【来自百度地图】您刚才发送了地理位置信息。Location_X{0}Location_Y{1}Scale{2},标签:{3}",
requestMessage.Location_X, requestMessage.Location_Y,
requestMessage.Scale, requestMessage.Label),
PicUrl = mapUrl,
Title = "定位地点周边地图",
Url = mapUrl
});
}
#endregion
#region GoogleMap
{
var markersList = new List<GoogleMapMarkers>();
markersList.Add(new GoogleMapMarkers()
{
X = requestMessage.Location_X,
Y = requestMessage.Location_Y,
Color = "red",
Label = "S",
Size = GoogleMapMarkerSize.Default,
});
var mapSize = "480x600";
var mapUrl = GoogleMapHelper.GetGoogleStaticMap(19 /*requestMessage.Scale*//*微信和GoogleMap的Scale不一致这里建议使用固定值*/,
markersList, mapSize);
responseMessage.Articles.Add(new Article()
{
Description = string.Format("【来自GoogleMap】您刚才发送了地理位置信息。Location_X{0}Location_Y{1}Scale{2},标签:{3}",
requestMessage.Location_X, requestMessage.Location_Y,
requestMessage.Scale, requestMessage.Label),
PicUrl = mapUrl,
Title = "定位地点周边地图",
Url = mapUrl
});
}
#endregion
responseMessage.Articles.Add(new Article()
{
Title = "微信公众平台SDK 官网链接",
Description = "Senparc.Weixin.MK SDK地址",
PicUrl = "https://sdk.weixin.senparc.com/images/logo.jpg",
Url = "https://sdk.weixin.senparc.com"
});
return responseMessage;
}
}
}