2012-04-25 1 views
1

私はWindows Phone開発を初めて利用しています。私は現在、独自のマップ(マプタイルを構築)を使いたい会社のアプリケーションを構築しています。ソリューションでBingMap Silverlightコントロールを使用したいと思います。私の質問です:これは本当に可能ですか?私はこのようなMapTilesクラスから継承して "GetUri"メソッドをオーバーライドしようとしました。BingMap Silverlightコントロールにマプタイルをロードする

public class MyTiles : Microsoft.Phone.Controls.Maps.TileSource 
{ 
    public override Uri GetUri(int x, int y, int zoomLevel) 
    { 
     if (zoomLevel > 0) 
     { 
      var Url = string.Format(UriFormat, Server, MapMode, zoomLevel, x, y); 
      return new Uri(Url); 
     } 
     return null; 
    } 
} 

HTTPリクエストなしでマプタリを読み込むことはできますか?事前に

Nroblex

+0

答えは「はい」ですが、私はあなたの状況をよく理解していないため、より良い回答を得ることができません。 –

+0

私はかなり大きい地図(20メガバイト、高解像度)を持っています。私はこのマップをBing MapControlにロードして、Windows Phone上で実行したいと考えています。 HTTPリクエストを使わずにBingMapコントロールに自分のマップを取得するにはどうしたらいいですか?それは可能ですか? – user1160274

+0

httpを使用できない理由はありますか?カスタムマップタイルをどこかに配置するのが最も簡単です。それで、あなたは 'TileSource'をそれらに向けることができます。また、これらのカスタムタイルは唯一の目に見えるタイルであることを意図していますか、またはビンタイルを補うだけですか? –

答えて

1

は、残念ながら、唯一の方法は、インターネット上のタイルをホストする

感謝:http://social.msdn.microsoft.com/Forums/en-US/94c2d9bc-f1a7-4201-9e5a-4d6a47d285cb/maptilelayer-with-local-tiles?forum=bingmapswindows8

開発にあなたはWAMP(http://www.wampserver.com/en/)を試してみて、その後、タイルを果たす可能性がなくなりfrom localhost:

MapTileLayer tileLayer = new MapTileLayer(); 
tileLayer.GetTileUri += tileLayer_GetTileUri; 

private void tileLayer_GetTileUri(object sender, GetTileUriEventArgs e) 
{ 
    string quadkey = TileToQuadkey(e.X, e.Y, e.LevelOfDetail); 
    e.Uri = new Uri(String.Format("http://localhost/tiles/{0}.png", quadkey)); 
} 

ここではTileToQuadkeyメソッドについて説明します。http://msdn.microsoft.com/en-us/library/bb259689.aspx

しかし、実際には、WAMPを自分のWebサーバーに置き換える必要があります。

関連する問題