2017-01-03 11 views
1

マーカーを付けた建物の地面/屋内計画(下の図のようなもの)を表示するNativescriptアプリケーションを作成したいが、私はその上で自分の頭を包むことができない。誰かがそれを行うための最良の方法/簡単な方法を知っていますか?それはあなたがGoogleマップnativescript-google-maps-sdkまたはnativescript-googlemapsの両方のプラグインのいくつかを選択することができNativescript屋内/地上図

What I's like to do

答えて

1

..インタラクティブマップである必要はありません。地図がロードされたら、setIndoorEnabled(boolean)setIndoorLevelPickerEnabled(boolean)を使用してインドアマップを有効にする必要があります。ズームインすると、屋内マップがそのマップを持つ場所に表示されます。私はサンプルコードを添付しています。あなたがnativescript-google-maps-sdk demonativescript-googlemaps demoを使用することができますどのようにNativeScriptプロジェクトのセットアップGoogleマップをさらに支援するため

import { Component, ChangeDetectionStrategy, OnInit, Input } from "@angular/core"; 
import { ObservableArray } from "data/observable-array"; 
import { mockedDataArray } from "../mock-dataItems"; 
import { Location } from "nativescript-geolocation"; 
import { TnsGoogleMaps } from "nativescript-googlemaps"; 
import * as app from "application"; 
import { isAndroid } from "platform"; 

declare var com: any; 
@Component({ 
    moduleId: module.id, 
    templateUrl: "./header-with-map.component.html", 
    changeDetection: ChangeDetectionStrategy.OnPush 
}) 
export class HeaderWithMapExampleComponent { 
....... 
    public mapview: TnsGoogleMaps; 
....... 
    constructor() { 
     .............. 
    } 



    public onMapReady(args) { 

      this.mapview.googleMap.setIndoorEnabled(true); 
      this.mapview.googleMap.getUiSettings().setIndoorLevelPickerEnabled(true); 

    } 
} 

。 NativeScript Angular2デモでは、サンプルコードhereを使用できます。

+0

ありがとうございました。問題は、私がこの屋内マップを作っている場所にGoogleマップ上にそのようなマップがないことです。つまり、手動で行う必要があります。私は既にマップボックスを使ってみましたが、そのプラグインはアプリをクラッシュさせます。 – Xoyce

+0

こちらのガイドライン(https://support.google.com/maps/answer/2803784?p=gmm_guidelines&visit_id=1-636191370335566147-3348413502&rd=1)を使用できます。ここでは、Googleマップにフロアプランをアップロードする方法が説明されています。私は屋内マップを持つ国でのみフロアプランを追加できることに気付きました。 –

+0

ええ、リストに載っていない国を推測してください:) – Xoyce