Bing Maps に事前定義されている3つのタイプに加え、マップでカスタムソースを使用することもできます。 カスタムソースを使用するには、SourceプロパティをCustomSourceに設定し、タイルソースを取得するためのJavascript関数を定義する必要があります。このトピックでは、マップのカスタムソースとしてGoogle Mapsを使用する方法を示します。
ソースビューで、次のようにgetUrl関数を定義します。
以下に、マップのソースを変更し、カスタムソースプロパティを設定した後のC1Mapsコントロールの最終的なマークアップを示します。
ソースビュー |
コードのコピー
|
---|---|
<c1:C1Maps ID="C1Maps1" runat="server" Height="500px" Width="600px" Source="CustomSource"> <CustomSource GetUrl="getUrl" MinZoom="1" MaxZoom="22" TileHeight="256" TileWidth="256"/> </c1:C1Maps> |
<head></head>タグの間に、Google Mapsタイルを取得するgetUrl関数のスクリプトを次のように追加します。
ソースビュー |
コードのコピー
|
---|---|
<script type="text/javascript"> function getUrl(zoom, x, y) { var uriFormat = "http://mt{subdomain}.google.cn/vt/lyrs=r&hl=en-us&gl=cn&x={x}&y={y}&z={zoom}"; var subdomains = ["0", "1", "2", "3"]; var subdomain = subdomains[(y * Math.pow(2, zoom) + x) % subdomains.length]; return uriFormat.replace("{subdomain}", subdomain).replace("{x}", x). replace("{y}", y).replace("{zoom}", zoom); } </script> |
C# |
コードのコピー
|
---|---|
C1Maps1.Source = C1.Web.Wijmo.Controls.
C1Maps.MapSource.CustomSource;
C1Maps1.CustomSource.MaxZoom = 22;
C1Maps1.CustomSource.MinZoom = 1;
C1Maps1.CustomSource.TileWidth = 256;
C1Maps1.CustomSource.TileHeight = 256;
C1Maps1.CustomSource.GetUrl = "getUrl";
|
VB |
コードのコピー
|
---|---|
C1Maps1.Source = C1.Web.Wijmo.Controls.
C1Maps.MapSource.CustomSource
C1Maps1.CustomSource.MaxZoom = 22
C1Maps1.CustomSource.MinZoom = 1
C1Maps1.CustomSource.TileWidth = 256
C1Maps1.CustomSource.TileHeight = 256
C1Maps1.CustomSource.GetUrl = "getUrl"
|
次の図は、C1MapsコントロールにGoogleマップタイルを表示したところです。