デベロッパー センター

自作アプリからのロケスマ起動方法

アプリ連携機能により、自社で開発中のiPhoneアプリからロケスマを起動し、ロケスマで地図を表示することができます。

さらには、ロケスマから元のアプリに戻ることも可能です。

呼び出しURL形式

次のようなURLをアプリ内で開くことにより、ロケスマと連携できます。これは「カスタムURLスキーム」と呼ばれるものです。

locasma://open?name=<地図の名称>&url=<KMLデータのurl>&app=<自アプリのURL>

「app=<自アプリのURL>」パラメータを省略した場合には、ロケスマに[戻る]ボタンが表示されません。

コード記述例(iPhone用、objective-c)

-(NSString *)urlEncode: (NSString *)param {
    return (NSString *)CFURLCreateStringByAddingPercentEscapes(
                      kCFAllocatorDefault,
                      (CFStringRef)param,
                      NULL,
                      CFSTR(";,/?:@&=+$#"
                      kCFStringEncodingUTF8);
}

-(void)callLocasma {
    NSString *name = @"appleストア" // 地図の名称
    NSString *kmlUrl = @"http://locationsmart.org/kml/original/apple.kml" // 地図のkmlのurl
    NSString *mySchema = @"myapp://" // 自分のアプリのURL
    NSString *locasma = @"locasma://open?name=%@&url=%@&app=%@"


    NSString *url = [NSStringstringWithFormat:locasma,
    [selfurlEncode:name],
    [selfurlEncode:kmlUrl],
    [selfurlEncode:mySchema]];


    [[UIApplicationsharedApplication]openURL:[NSURLURLWithString:url]];
}