0

私は近隣のGoogleの場所で生成されたレストランのさまざまな種類の料理に異なるマーカーアイコンを使用しようとしています。google places apiレストランの料理に基づいたカスタムマーカーアイコンを使用

例として、レストランがピザ屋の場合は、カスタムピッツェリアアイコン(ローカルに保存したもの)を表示するか、レストランがバーガー場の場合は、デフォルトのレストランアイコンの代わりにハンバーガーアイコンを表示する必要があります。

私が検索した限りでは、場所の種類(たとえば「レストラン」、「図書館」、「駐車場」など)にカスタムアイコンを使用する可能性があるだけで、方法を見つけることができませんレストランタイプのサブタイプを取得します。この問題を回避する方法はありますか?ここで

は本当にマーカーを引く検索し、コールバック関数のコード例です:

 var MARKER_PATH = 
    "https://developers.google.com/maps/documentation/javascript/images/marker_green"; 
unction search() { 
    var search = { 
    bounds: map.getBounds(), 
    types: ["restaurant"] 
    }; 

    places.nearbySearch(search, callback); 
} 

function callback(results, status) { 
    if (status === google.maps.places.PlacesServiceStatus.OK) { 
    document.getElementById("lat").value = results[0].geometry.location.lat(); 
    document.getElementById("lng").value = results[0].geometry.location.lng(); 
     // Create a marker for each restaurant found, and 
     // assign a letter of the alphabetic to each marker icon. 
     for (var i = 0; i < results.length; i++) { 
     var markerLetter = String.fromCharCode("A".charCodeAt(0) + i % 26); 
     var markerIcon = MARKER_PATH + markerLetter + ".png"; 
     // Use marker animation to drop the icons incrementally on the map. 
     markers[i] = new google.maps.Marker({ 
      position: results[i].geometry.location, 
      animation: google.maps.Animation.DROP, 
      icon: markerIcon 
     }); 
     // If the user clicks a restaurant marker, show the details of that restaurant 
     // in an info window. 
     markers[i].placeResult = results[i]; 
     google.maps.event.addListener(markers[i], "click", showInfoWindow); 
     setTimeout(dropMarker(i), i * 100); 
     addResult(results[i], i); 
     } 
    } 
    } 

私の考えでは、このような何か(、生成された結果のキーワードプロパティを使用して、料理の種類を取得することでした例えばちょうど2つの料理の種類):それを解決する方法があるかどうか..

if (results[i].keyword === "pizzaria") { 
      markerIcon = "img/icons/pizzaria.png"; 
     } else if (results[i].keyword === "burger") { 
      markerIcon = "img/icons/fastfood.png"; 
     } 

を残念ながら、これは動作しませんし、私スチール不思議

答えて

0

ありません、あなたはGoogleのドキュメントのthisの記事で指定されているようないくつかの "ピッツァリア"を検索しようとすることはできません。

しかし、あなたはレストランの(キーワードなど)typesに相談することができますし、それらに「ピザ」を検索してみてください。

if (results[i].name.indexOf ("pizzeria") || results[i].name.indexOf ("pizza hut") /*...*/) { 
      markerIcon = "img/icons/pizzaria.png"; 
     } else if (results[i].name.indexOf ("burger")) { 
      markerIcon = "img/icons/fastfood.png"; 
     } 

あなたには、いくつかの質問がある場合を教えてください。

幸運。

スフィンクス

0

それは現在入手可能であるよりも、あなたはそれぞれの場所の詳細が必要になります。彼らは(example)Googleマップに表示されて

場所APIはそのtypesフィールドに「レストラン」を持つすべてのレストランを公開し、あなたは、のような「hamburger_restaurant」または「italian_restaurant」などの追加、より詳細な種類が必要になります。

35822953:詳細/プライマリタイプ(Googleマップに表示)

関連する問題