gsi...2016/06/07  · android: tileprovider tileprovider = new urltileprovider(256, 256) { @override...

12
⇥⇤⌅⇧⌃⌥⌦↵✏⇣⌘⇣✓◆⌫⇠⇡ ⇢⌧↵✓✓ !"⌘⌘###$%✏&✏'(✏!$(✏) *✏+,-✏./⇣ 012 3#⇣4" 5!6"⌘⌘#⇣4$(✏)⌘464/⇣ ⇥⇤⌅⇧⌃⌥789⇥⇤:;;<=>?⌥⇠⇡@A@ ⌦B↵!!,◆✏48CDE✏✏.F4,GF%HIJKLMNOPQRASB

Upload: others

Post on 09-Nov-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

�⇥⇤⌅⇧⌃⌥� ⌦↵���✏⇣�⌘⇣✓◆��⌫⇠⇡

⇢�⌧�↵✓�✓

� !"⌘⌘###$%✏&✏'(✏�!$(✏)

*✏+,-✏�./⇣�

012

3#⇣ 4�"5 !6"⌘⌘ #⇣ 4�$(✏)⌘46 4/⇣�

�⇥⇤⌅⇧⌃⌥� 789�⇥⇤�:;;<=>?��⌥⇠⇡@A@

⌦B↵!!,◆ ✏�48CDE✏✏.F4,GF%HIJKLMNOPQRASB

Page 2: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

�⇥⇤⌅⇧⌃⌥�?⇥T

⇥⇤⌅⇧⌃⌥� ⌦↵�↵��✏⇣⌘✓◆�↵⇤�⌫ ⇠⇡⇢�⌧��� � !"#$

%⇤&'⌃�⌃()�*+,-.⇤/0123"#4⇧5 66��78!"#$9:);&<='>=?<@AB=CD=?=?EFGH⇤⌅IIJ<=�:@KL�4CD?I&D�M=?+%-.N/0123"!"#$O;&<=⇧?I>&D=?PQR⇤⇠ST⌘/01 UV78�↵�⇤⌅IIJ<=�:@KL�W4KK<=�:@KLXY"�↵E↵Z[ \]^�$_`abc

Page 3: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

/01de◆fgh6i⌘jklm

nop%de ^q!r$s�/�ORasterQtuWvw/�OVectorQtu$x8y8⌘lmiz{r�|b ^q!r$

s�/�tu⌘}~N⇤WEBi�Ä"�ÅÇ8É⇤\]ÑÖh1 Ü�á�àâ⇤ääNvw/�tu⇢ãå"�⇤çé↵#"!r$

⇥⇤s�/�(Raster)èêë01íìîpngïNjpgññó É⇤òô⇠ST⌘öõ⇠⇡ññhttp://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png

Page 4: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

Android:

TileProvider tileProvider = new UrlTileProvider(256, 256) {

@Override

public synchronized URL getTileUrl(int x, int y, int zoom) {

….............

}

};

map.addTileOverlay(new TileOverlayOptions().tileProvider(tileProvider));

iOS:

MKTileOverlay *overlay = [[MKTileOverlay alloc] initWithURLTemplate:NSString];

[mapView addOverlay:overlay level:0];

Page 5: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

U8VW⌅OXY4( ✏�Z[\]⇧⌃^_`Dabcd/6✏�CD

.4✏e6✏�QfgASh8iI⌫j�Qk✓lQSB

mno8pqrstuvwx,yz⌅⇧⌃{U|}~�ÄÅÄÇÉ

ÑÖÜ[5 !"⌘⌘(H&4�/%!%��% %$.6⇣$.✏$/!⌘áHà⌘U|}~|Ä|Ä��â⌘äàã⌘äáã⌘äHã$ á

VW⌅OåO⌅⌥�:çdéèSê⌦ëd8í⌫ìîhïñQSB

AóD8òOôOIJåO⌅⌥KLMNOPSêB

íD8KLMNOPöõ⌦åO⌅⌥úù{!%�64ÉSêB

ûü8úùöõ⌦åO⌅⌥�:çdéèSêB

Page 6: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

%ú⇥⇤ù�/⌘ûüÖ†�°Android:

public class JsonTileProvider implements TileProvider {

@Override public Tile getTile(int x, int y, int zoom) { String sZ = url.replace("{z}", "" + zoom); String sX = sZ.replace("{x}", "" + x);

//Listener: Activity listener.addLayer(sX.replace("{y}", "" + y), zoom);

return null; }

}

Listener�⇥⇤⌅⇧⌃⌥� ⌦⌥↵���⌅AsyncTask<String, Void, JSONObject>✏⇣⌘✓◆⌅��✏⌫⇠⇡⇢��✓◆⌧�⌅�� Parse!⇥"�#$%

null⇢¢r

Page 7: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

IOS:

@interface GeoJsonTileOverlay : MKTileOverlay

@end

@implementation GeoJsonTileOverlay

- (NSURL *)URLForTilePath:(MKTileOverlayPath)path {

NSArray *urls = [self.URLTemplate componentsSeparatedByString:@"{"];

NSString *geoJsonURL = [NSString stringWithFormat:@"%@%ld/%ld/%ld.geojson", [urls

objectAtIndex:0], (long)path.z, (long)path.x, (long)path.y];

return [NSURL URLWithString:geoJsonURL];

}

- (void)loadTileAtPath:(MKTileOverlayPath)path result:(void (^)(NSData * __nullable

tileData, NSError * __nullable error)) result {

//&&�⌅tileData✏'()*◆⌅��⌥��⇥"�#$%}

PGW£�N⇤iOS⌘lNW�§•¶i⇤ß®E©™⇢´¨≠£�á8!"#$

Page 8: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

%ú%⇤ù�/⌘ÆØOParseQGeoJson⇢ÆØr�#∞⌘OpenSource±�≤ ^£�⇤Geometry!i≥"á¥Siµ!r ⇤∂∑∏π⇢∫ªiµ�⇤⇠⇡Z[⌘ºΩæ↵�_`abEproperties2"�⇤øF23iµ!¿¡àâ⇤zk¬ E↵⌘ir$

W↵⌧äWi⇤GeoJsonù�/⇢ÆØr�√⇤´�⌘¥S⇢z{"EÇ8ÉEq!¿¡$

lmW"�N⇤✓ƒ⌘Jsonù�/⇢ÆØr�≈W∆«i⇤ñ↵���✏⇣�⌫†°D8e◆✓¢✓&/4( ⌥�>8⇣✓◆⌫†°8£

¢◆e◆✓¢◆4�⇣%F⇣à% ⇣✏�⌥�?ïñhfgAS�

Page 9: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

%úH⇤ù�/⌘ºΩ¥S⇠⇡»ºΩ|bEù�/N… Hde ^q!r$

Point

Line

Polygon

Android⇤ïiOS⌘öõAPIN´¨23"�↵�$

ÑÖh1À�°§\]^q!ràâ⇤ääÃÕ7¿�ŵ!r$

Page 10: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

⇠ST/01⇢�£#Œßó

s�/�ORasterQtu vw/�OVectorQtuvw/�OVectorQtu

Page 11: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

œ–⇠ST/01⌘�↵l —à£�§⇤↵↵⇠⇡gh6⇢©8�WN“ !¿¡$UI”‘⇤⌥�’÷EF◊ÿr�|b ^q!r⇤ä8Ÿ↵�N⇤⁄⌘€‹⇢›fi"�ÅÇ8ÉWfl↵!r$

Page 12: GSI...2016/06/07  · Android: TileProvider tileProvider = new UrlTileProvider(256, 256) { @Override public synchronized URL getTileUrl(int x, int y, int zoom) { map.addTileOverlay(new

� �

�⇥⇤⌅⇧⌃�⌥� ⌦↵