2017-02-22 11 views
0

私はこの参照をここに従うことによって、UnityアプリケーションにGoogleマップを埋め込みようとしていますhttps://developers.google.com/maps/documentation/embed/guide#overview。これまでのところ、エラーはなく、マップをロードしないなど、リクエストを正常に送信できました。代わりに、以下のような大きな疑問符を読み込みます。 enter image description hereUnity3Dに埋め込まれているGoogleマップ

これはどのような理由がありますか?ここにところで、私の飛行機に添付のスクリプトは次のとおりです。

IEnumerator _Refresh() 
{ 
    var url = "https://www.google.com/maps/embed/v1/place"; 
    var qs = ""; 
    if (!autoLocateCenter) { 
     qs += "key=AIzaSyDQ18r-LtVpuo__ms7yl4KW0k9VhMOadgQ"; 
     qs += "&q=Cebu"; 
     qs += "&maptype=" + mapType.ToString().ToLower(); 
     qs += "&zoom=" + zoom.ToString(); 
    } 

    var usingSensor = false; 
    #if UNITY_IPHONE 
    usingSensor = Input.location.isEnabledByUser && Input.location.status == LocationServiceStatus.Running; 
    #endif 
    //qs += "&sensor=" + (usingSensor ? "true" : "false"); 

    foreach (var i in markers) { 
     qs += "&markers=" + string.Format ("size:{0}|color:{1}|label:{2}", i.size.ToString().ToLower(), i.color, i.label); 
     foreach (var loc in i.locations) { 
      if (loc.address != "") 
       qs += "|" + WWW.UnEscapeURL (loc.address); 
      else 
       qs += "|" + WWW.UnEscapeURL (string.Format ("{0},{1}", loc.latitude, loc.longitude)); 
     } 
    } 

    foreach (var i in paths) { 
     qs += "&path=" + string.Format ("weight:{0}|color:{1}", i.weight, i.color); 
     if(i.fill) qs += "|fillcolor:" + i.fillColor; 
     foreach (var loc in i.locations) { 
      if (loc.address != "") 
       qs += "|" + WWW.UnEscapeURL (loc.address); 
      else 
       qs += "|" + WWW.UnEscapeURL (string.Format ("{0},{1}", loc.latitude, loc.longitude)); 
     } 
    } 

    var req = new WWW (url + "?" + qs); 
    yield return req; 
    GetComponent<Renderer>().material.mainTexture = req.texture; 
} 
+0

コードを投稿してください。どのように人々はあなたのコードなしであなたを助けることができますか? – Programmer

+0

@Programmer完了 –

+0

非常に多くの変数がコードにないため、問題を再現できませんでした。私はあなた自身のコードをデバッグする方法をあなたに靴をつけるでしょう。 'var req = new WWW(url +"? "+ qs);'を呼び出す前に 'Debug.Log(url +"? "+ qs)'を入れてください。 [コンソール]タブからリンクをコピーし、Webブラウザに貼り付けます。それがうまくいかない場合、URLを構築する方法は間違っています!ここ@Programmer – Programmer

答えて

0

Googleはそのマップには2つの異なるAPIを使用しています。 Google Maps Embed

Google Map static

あなたが提供したリンクはEmbed APIです。つまり、このようなhtmlページでのみ使用できます。

<iframe src="//www.google.com/maps/embed/v1/place?q=Harrods,Brompton%20Rd,%20UK 
     &zoom=17 
     &key=YOUR_API_KEY"> 
    </iframe> 

第二の方法(静的API)を使用すると、要求を行う画像を返します。 を使用する必要があります。

urlは、この形式である必要があります。

https://maps.googleapis.com/maps/api/staticmap?.... 

代わりに:常に

https://maps.googleapis.com/maps/api/staticmap?key=AIzaSyDQ18r-LtVpuo__ms7yl4KW0k9VhMOadgQ&q=Cebu+City&maptype=satellite&zoom=5&size=640x400. 

でそれを試してみてください。

https://google.com/maps/embed/v1/place?.... 

だから、あなたのリンクは、このようなものでなければなりませんあなたのコードに入れる前にブラウザ。

あなたはGoogleマップの静的をGoogleデベロッパーコンソールで承認する/有効にする必要があります。サポートされているパラメータの詳細については、hereを参照してください。

+0

あなたは私の質問にお答えしました!だから私がやっていたことは、結局可能ではありません:) –

+0

私は "不可能"とは言いません。Unityで動作する独自のWebkitとJavascript APIをビルドする必要があります。今、それは非常に難しいところです。 – Programmer

関連する問題