gsi...2016/06/07 · android: tileprovider tileprovider = new urltileprovider(256, 256) { @override...
TRANSCRIPT
� �
�⇥⇤⌅⇧⌃⌥� ⌦↵���✏⇣�⌘⇣✓◆��⌫⇠⇡
⇢�⌧�↵✓�✓
� !"⌘⌘###$%✏&✏'(✏�!$(✏)
*✏+,-✏�./⇣�
012
3#⇣ 4�"5 !6"⌘⌘ #⇣ 4�$(✏)⌘46 4/⇣�
�⇥⇤⌅⇧⌃⌥� 789�⇥⇤�:;;<=>?��⌥⇠⇡@A@
⌦B↵!!,◆ ✏�48CDE✏✏.F4,GF%HIJKLMNOPQRASB
� �
�⇥⇤⌅⇧⌃⌥�?⇥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
� �
/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
� �
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];
� �
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
� �
%ú⇥⇤ù�/⌘ûüÖ†�°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
� �
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!"#$
� �
%ú%⇤ù�/⌘ÆØ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�
� �
%úH⇤ù�/⌘ºΩ¥S⇠⇡»ºΩ|bEù�/N… Hde ^q!r$
Point
Line
Polygon
Android⇤ïiOS⌘öõAPIN´¨23"�↵�$
ÑÖh1À�°§\]^q!ràâ⇤ääÃÕ7¿�ŵ!r$
� �
⇠ST/01⇢�£#Œßó
s�/�ORasterQtu vw/�OVectorQtuvw/�OVectorQtu
� �
œ–⇠ST/01⌘�↵l —à£�§⇤↵↵⇠⇡gh6⇢©8�WN“ !¿¡$UI”‘⇤⌥�’÷EF◊ÿr�|b ^q!r⇤ä8Ÿ↵�N⇤⁄⌘€‹⇢›fi"�ÅÇ8ÉWfl↵!r$
� �
�⇥⇤⌅⇧⌃�⌥� ⌦↵