1. 程式人生 > >如何向網頁中嵌入谷歌英文地圖

如何向網頁中嵌入谷歌英文地圖

前言

百度地圖目前不支援英文,所以如果想向網頁中嵌入英文地圖的話只能使用谷歌地圖。

(當然,想在國內從瀏覽器訪問谷歌地圖的大前提是已經翻了牆。)

點選左側的“共享”->“嵌入地圖”,便可獲得嵌入地圖的iframe程式碼。

谷歌嵌入地圖生成

完整程式碼如下:

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d391565.2558546159!2d116.11727013234623!3d39.9390731255796!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x35f05296e7142cb9%3A0xb9625620af0fa98a!2z5Lit5Zu95YyX5Lqs5biC!5e0!3m2!1szh-CN!2sjp!4v1499172397317" allowfullscreen="" width="600" height="450"></iframe>

但這個API並沒有設定顯示語言的地方。雖然官網說谷歌地圖會因地區而自動顯示不同的語言,但事實上顯示哪種語言與瀏覽器設定的預設語言有關。

那麼如果想強制指定為英文怎麼辦呢?下面給出兩種解決方案。

解決方案一:呼叫另一個嵌入地圖API

這個API也是谷歌官方提供的,使用起來唯一有點不方便的地方就是要申請一個API。(點這裡->)Google API Console。

<html>
<head>
 
</head>
 
<body>
 
<iframe
  width="600"
  height="450"
  frameborder="0" style="border:0"
  src="https://www.google.com/maps/embed/v1/place?key=從谷歌那裡申請到的API
    &q=北京市&language=en-US">
</iframe>
 
</body>
</html>

如上,在src的url引數裡追加 language=en-US 就可以了。還有,key的值要替換成從谷歌那裡申請好的API。

解決方案二:呼叫Maps JavaScript API

下面的程式碼是在谷歌官方例子的基礎上做了一點修改,也是隻需要追加language=en-US 就可以了。

另外,同樣需要申請API.

<!DOCTYPE html>
<html>
  <head>
    <style>
       #map {
        height: 400px;
        width: 100%;
       }
    </style>
  </head>
  <body>
    <h3>My Google Maps Demo</h3>
    <div id="map"></div>
    <script>
      function initMap() {
        var uluru = {lat: -25.363, lng: 131.044};
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 4,
          center: uluru
        });
        var marker = new google.maps.Marker({
          position: uluru,
          map: map
        });
      }
    </script>
    <script async defer
    src="https://maps.googleapis.com/maps/api/js?key=從谷歌那裡申請到的API&callback=initMap&language=en-US">
    </script>
  </body>
</html>

第二個方法的缺點是沒有生成左上角的標識,如果需要還需要繼續新增程式碼。