2

Bing Maps を使用して C#/XAML Windows 8 アプリを作成しています。Windows Phone 7 のコードを大量にコピーしていますが、地理座標をプロットするだけで問題が発生しています。WP7コードは次のとおりです。

GeoCoordinate mapCenter = new GeoCoordinate(37.784, -122.408);
map1.Center = mapCenter;

ただし、Win 8 で mapCenter をインスタンス化しようとすると (GeoCoordinate の代わりに小文字の Geocoordinate を使用します)、「Windows.Devices.Geolocation.Geocoordinate に 2 つの引数を取るコンストラクターが含まれていません」というエラーが表示されます。

Geocoordinates をかなり使用することを計画していたので、ちょっと困惑しています。Geocoordinate コンストラクターが正確に何を受け取るかを理解する方法がよくわかりません。

ありがとう、

アマンダ

コードのインデントを修正するために編集

4

2 に答える 2

2

クラスを直接インスタンス化することはWindows.Devices.Geolocation.Geocoordinateできません。また、使用している名前空間は、デバイスから位置データを取得するために特別に使用されることに注意してください。

Geopositionまず、 viaのインスタンスを取得する必要がありますGeolocator.GetGeopositionAsync

Geocoordinateその後、からインスタンスを取得できますGeoposition.Coordinate

Location特定の緯度と経度に合わせてマップを単純に中央に配置する場合 (および Bing Maps for Windows Store Apps SDK を使用している場合) は、代わりにクラスを使用する必要があるように見えます(Map.Centerタイプは ですLocation)。

于 2012-10-20T01:35:40.720 に答える
0

あなたのコードとエラー出力は、2 つの異なることを言っています。コードのGeoCoordianateで大文字のCを使用していることを確認するのと同じ問題がありました。地理座標の小文字の C は、電話の位置を取得するためのものです。

Map コントロールの Center プロパティには、System.Device.Location 名前空間の GeoCoordinate 型の値が必要です。Windows.Devices.Geolocation 名前空間の位置情報サービスを使用している場合は、Map コントロールで使用するために、Windows.Devices.Geolocation.Geocoordinate 値を System.Device.Location.GeoCoordinate 値に変換する必要があります。

Windows Phone Toolkit をダウンロードすると、Maps API の他の便利な拡張機能と共に、この変換を行うための拡張メソッドを取得できます。独自のコードを作成する場合は、Geocoordinate を >GeoCoordinate に変換するために使用できるメソッドの例を次に示します。

http://msdn.microsoft.com/en-US/library/windowsphone/develop/jj207045(v=vs.105).aspx#BKMK_convertingから

于 2013-01-02T16:18:44.603 に答える