Gmaps4rails - 如何设置地图语言

时间:2016-09-15 00:12:03

标签: javascript ruby-on-rails google-maps google-maps-api-3 gmaps4rails

我想本地化Gmaps4rails生成的地图,因此我可以用用户所需的语言显示地名。 Google会在此处记录如何执行此操作:https://developers.google.com/maps/documentation/javascript/examples/map-language

我正在使用Gmaps4rails的相当标准(当前功能)实现,您可以在此处看到。

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();
});

渲染到html ...

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

我只需要找出定义语言代码的位置。我尝试将其作为选项添加到提供商,没有任何乐趣(例如provider: { styles: mapStyle, language: 'zh-TW' })。

我已经搜索了文档(和源代码),但似乎无法找到任何关于此的信息。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您必须在脚本中指明语言。

例如,在 Maps API v3 Now Speaks Your Language

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

您可以在此处找到languages的列表。

以下是代码示例:

<!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>

正如您在此代码行中看到的那样,key=YOUR_API_KEY&callback=initMap& language=ja &region=JP,语言设置为 jp =日语

同时使用动态语言设置检查其工作sample

希望这有帮助!