0

Ich möchte die Karte lokalisieren, die von Gmaps4rails erzeugt wird, also kann ich Ortsnamen in der gewünschten Sprache des Benutzers zeigen. Google Dokumente, wie man das hier macht: https://developers.google.com/maps/documentation/javascript/examples/map-languageGmaps4rails - wie man Kartensprache einstellt

Ich verwende eine ziemlich standard (und derzeit funktionale) Implementierung von Gmaps4rails, die Sie hier sehen können.

handler = Gmaps.build('Google'); 
handler.buildMap({ 
    provider: { styles: mapStyle }, 
    internal: {id: 'map'} 
}, function(){ 
    markers = handler.addMarkers(<%=raw @hash.to_json %>); 
    handler.bounds.extendWith(markers); 
    handler.fitMapToBounds(); 
}); 

zum HTML-Rendering ...

<div class="map-container"> 
    <div id="map"></div> 
</div> 

Ich brauche nur um herauszufinden, wo Sie den Sprachcode zu definieren. Ich habe versucht, es als eine Option für den Anbieter hinzuzufügen, ohne Freude (z. B. provider: { styles: mapStyle, language: 'zh-TW' }).

Ich habe die Dokumentation (und Quelle) durchforstet, kann aber keine Informationen dazu finden. Jede Hilfe wäre willkommen!

Antwort

0

Sie müssen die Sprache im Skript angeben.

Zum Beispiel im Maps API v3 Now Speaks Your Language:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=pt-BR"> 

Sie die Liste der languages finden Sie hier. Hier

ist das Codebeispiel:

<!DOCTYPE html> 
<html> 
    <head> 
    <title>Localizing the Map</title> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 
    <meta charset="utf-8"> 
    <style> 
     html, body { 
     height: 100%; 
     margin: 0; 
     padding: 0; 
     } 
     #map { 
     height: 100%; 
     } 
    </style> 
    </head> 
    <body> 
    <div id="map"></div> 
    <script> 
     // This example displays a map with the language and region set 
     // to Japan. These settings are specified in the HTML script element 
     // when loading the Google Maps JavaScript API. 
     // Setting the language shows the map in the language of your choice. 
     // Setting the region biases the geocoding results to that region. 
     function initMap() { 
     var map = new google.maps.Map(document.getElementById('map'), { 
      zoom: 8, 
      center: {lat: 35.717, lng: 139.731} 
     }); 
     } 
    </script> 
    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&language=ja&region=JP" 
    async defer> 
    </script> 
    </body> 
</html> 

Wie Sie in dieser Codezeile sehen können, key=YOUR_API_KEY&callback=initMap&language=ja&region=JP, Sprache ist auf jp = Japanisch.

Überprüfen Sie auch ihre Funktion sample mit einer dynamischen Spracheinstellung.

Hoffe, das hilft!

+1

Danke @ Mr.Rebot, ich dachte, es könnte einen Weg geben, dies über den Edelstein zu handhaben, aber da ich den SRC dynamisch in Schienen bearbeiten kann, könnte ich genauso gut gehen. Danke für deinen Beitrag. – vaughanos