【发布时间】:2016-08-30 03:33:31
【问题描述】:
我是 SharpMap 的新手,从未使用过任何 GIS。
如何让 sharpmap 显示谷歌地图,然后使用纬度和经度值在其上显示一些点? (例如:点 1 纬度:-36.853427,经度:174.770385;点 2 纬度:-36.853333,经度:174.770496)。
我真的被困住了,非常感谢任何帮助。
这是我目前所拥有的:
using System;
using System.Drawing;
using System.Windows.Forms;
using SharpMap.Layers;
using BruTile.Web;
namespace sharp_map_test
{
public partial class Form1 : Form
{
double point1Lat = -36.853427;
double point1Long = 174.770385;
double point2Lat = -36.853333;
double point2Long = 174.770496;
public Form1()
{
InitializeComponent();
SharpMap.Map myMap = new SharpMap.Map(new Size(400, 300));
// Output size
myMap.Size = new System.Drawing.Size(300, 200);
// Minimum zoom allowed
myMap.MinimumZoom = 100;
// Set background
myMap.BackColor = Color.White;
var layergoogle = new TileLayer(new GoogleTileSource(GoogleMapType.GoogleMap), "googlemaps");
var layer = new VectorLayer("test");
myMap.Layers.Add(layergoogle);
// Render the map
myMap.ZoomToExtents();
System.Drawing.Image imgMap = myMap.GetMap();
}
private void Form1_Load(object sender, EventArgs e)
{
// Display point1Lat and point1Long point on the google map
// Add text saying "Device A" to the point.
// Display point2Lat and point2Long point on the google map
// Add text saying "Device B" to the point.
// Refresh map and get the correct zoom level
}
}
}
【问题讨论】:
-
我最终使用 OpenStreet 地图而不是 google 地图...