我使用Visual Studio 2015 C#从网站教程中创建了polyline解决方案。https://msdn.microsoft.com/en-us/library/hh868034.aspx
XAML文件如下:
<Window x:Class="WPFTestApplication.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:m="clr-namespace:Microsoft.Maps.MapControl.WPF;assembly=Microsoft.Maps.MapControl.WPF"
Width="1024" Height="768">
<Grid x:Name="LayoutRoot" Background="White">
<m:Map x:Name="myMap" CredentialsProvider="Insert_Your_Bing_Maps_Key" Center="47.740,-122.125" ZoomLevel="11">
<m:MapPolyline Stroke="Blue" StrokeThickness="5"
Locations="47.6424,-122.3219 47.8424,-122.1747 47.5814,-122.1747 47.67856,-122.130994"
Opacity="0.7"/>
</m:Map>
</Grid>
</Window>
xaml.cs文件如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using Microsoft.Maps.MapControl.WPF;
using Microsoft.Maps.MapControl.WPF.Design;
namespace WPFTestApplication
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
MapPolyline polyline = new MapPolyline();
polyline.Stroke = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Blue);
polyline.StrokeThickness = 5;
polyline.Opacity = 0.7;
polygon.Locations = new LocationCollection() {
new Location(47.6424,-122.3219),
new Location(47.8424,-122.1747),
new Location(47.5814,-122.1747)
};
myMap.Children.Add(polyline);
}
}
}
输出显示如下:
经度,纬度点通过地图上的多线线连接。多线线是一条直线。
我想使用立方/样条插值连接经度,纬度点以形成光滑的曲线。是否可以在此代码中实现立方/样条插值?有内置功能吗?
谢谢。
如果要使用与wpf不同的东西,请参见drawcurves,以允许您绘制光滑的曲线。
如果您需要在样条上进行进一步计算或想要坚持使用Mappolyline的点数,则可以快速浏览Google,似乎会带来一些类似的项目。您首先必须自己计算样条,然后取适当的点并将其添加到多线对象(以获取所需的Smothness)您使用的类(mappolyline)更少用于绘制多边形,因此一系列通过直线连接的点(您正在体验到)。