前言
百度地圖目前不支援英文,是以如果想向網頁中嵌入英文地圖的話隻能使用谷歌地圖。
(當然,想在國内從浏覽器通路谷歌地圖的大前提是已經翻了牆。)
點選左側的“共享”->“嵌入地圖”,便可獲得嵌入地圖的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" width="600" height="450" frame style="border:0" allowfullscreen></iframe>
但這個API并沒有設定顯示語言的地方。雖然官網說谷歌地圖會因地區而自動顯示不同的語言,但事實上顯示哪種語言與浏覽器設定的預設語言有關。
那麼如果想強制指定為英文怎麼辦呢?下面給出兩種解決方案。
解決方案一:調用另一個嵌入地圖API
https://developers.google.com/maps/documentation/embed/guide#api
這個API也是谷歌官方提供的,使用起來唯一有點不友善的地方就是要申請一個API。(點這裡->)Google API Console。
<html>
<head>
</head>
<body>
<iframe
width="600"
height="450"
frame 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
https://developers.google.com/maps/documentation/javascript/adding-a-google-map
下面的代碼是在谷歌官方例子的基礎上做了一點修改,也是隻需要追加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>
第二個方法的缺點是沒有生成左上角的辨別,如果需要還需要繼續添加代碼。