27

嗨,我正在使用此代码在谷歌地图中使用获取方向。但是当我从其他机器上运行它时,它显示错误无效的 api 密钥。如何在没有 api 密钥的情况下使用同一张地图。

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=ABQIAAAAuPsJpk3MBtDpJ4G8cqBnjRRaGTYH6UMl8mADNa0YKuWNNa8VNxQCzVBXTx2DYyXGsTOxpWhvIG7Djw" type="text/javascript"></script>
    <style type="text/css">
    body {
      background:#FFE1C7;
      font-family: Verdana, Arial, sans serif;
      font-size: 11px;
      margin: 2px;
    }
table.directions th {
      background-color:#EEEEEE;
    }

    img {
      color: #000000;
    }
    </style>
    <script type="text/javascript">

    var map;
    var gdir;
    var geocoder = null;
    var addressMarker;

    function initialize() {
      if (GBrowserIsCompatible()) {      
        map = new GMap2(document.getElementById("map_canvas"));
        gdir = new GDirections(map, document.getElementById("directions"));
        GEvent.addListener(gdir, "load", onGDirectionsLoad);
        GEvent.addListener(gdir, "error", handleErrors);

        setDirections("Bangalore", "Mysore", "en_US");
      }
    }

    function setDirections(fromAddress, toAddress, locale) {
      gdir.load("from: " + fromAddress + " to: " + toAddress,
                { "locale": locale });
    }

    function handleErrors(){
     if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
       alert("No corresponding geographic location could be found for one of the specified addresses. This may be due to the fact that the address is relatively new, or it may be incorrect.\nError code: " + gdir.getStatus().code);
     else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
       alert("A geocoding or directions request could not be successfully processed, yet the exact reason for the failure is not known.\n Error code: " + gdir.getStatus().code);

     else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
       alert("The HTTP q parameter was either missing or had no value. For geocoder requests, this means that an empty address was specified as input. For directions requests, this means that no query was specified in the input.\n Error code: " + gdir.getStatus().code);

    //   else if (gdir.getStatus().code == G_UNAVAILABLE_ADDRESS)  <--- Doc bug... this is either not defined, or Doc is wrong
    //     alert("The geocode for the given address or the route for the given directions query cannot be returned due to legal or contractual reasons.\n Error code: " + gdir.getStatus().code);

     else if (gdir.getStatus().code == G_GEO_BAD_KEY)
       alert("The given key is either invalid or does not match the domain for which it was given. \n Error code: " + gdir.getStatus().code);

     else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
       alert("A directions request could not be successfully parsed.\n Error code: " + gdir.getStatus().code);

     else alert("An unknown error occurred.");
    }

    function onGDirectionsLoad(){
        // Use this function to access information about the latest load()
        // results.

        // e.g.
        // document.getElementById("getStatus").innerHTML = gdir.getStatus().code;
      // and yada yada yada...
    }

    </script>

任何人都可以帮助我...提前谢谢..

4

7 回答 7

31

注意:这个答案现在已经过时了。您现在需要拥有 API 密钥才能使用谷歌地图。阅读更多


您需要将您的 API 从 V2 更改为 V3,因为 Google Map Version 3 不需要 API Key

看看这个。。

写你script

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
于 2012-09-27T06:22:11.037 回答
19

现在您必须拥有 API 密钥。您可以在谷歌开发者控制台中生成它。这是解释的链接

于 2016-06-02T10:48:32.053 回答
9

来源

2016年 6,Google 宣布他们将停止支持无密钥使用,这意味着任何不包含 API 密钥或客户端 ID 的请求。这将于2018年 6 月 11 日生效,不再 支持无钥匙访问

于 2018-05-06T15:41:56.837 回答
2

例如,您仍然可以在谷歌地图共享按钮中使用免费的 iframe 在此处输入图像描述

于 2020-09-20T14:12:31.733 回答
0

嘿,你可以使用这个 insted

<iframe width="100%" height="100%" class="absolute inset-0" frameborder="0" title="map" marginheight="0" marginwidth="0" scrolling="no" src="https://maps.google.com/maps?width=100%&amp;height=600&amp;hl=en&amp;q=%C4%B0ikaneir+(Mumma's%20Bakery)&amp;ie=UTF8&amp;t=&amp;z=14&amp;iwloc=B&amp;output=embed" style="filter: scale(100) contrast(1.2) opacity(0.4);"></iframe>
于 2020-11-30T14:48:20.997 回答
0

这个简单的代码可以 100% 工作,您只需要更改 'lat'、'long' 以显示地址

<iframe src="http://maps.google.com/maps?q=25.3076008,51.4803216&z=16&output=embed" height="450" width="600"></iframe>
于 2020-12-30T08:03:46.833 回答
0

下面的代码不需要任何api在您的网站上嵌入地图

?q=在这里搜索

完整网址

https://maps.google.com/maps?q=chennai&t=&z=13&ie=UTF8&iwloc=&output=embed

完整代码

<div class="mapouter"><div class="gmap_canvas"><iframe width="600" height="500" id="gmap_canvas" src="https://maps.google.com/maps?q=isat software solutions&t=&z=13&ie=UTF8&iwloc=&output=embed" frameborder="0" scrolling="no" marginheight="0" marginwidth="0"></iframe></div></div>
于 2021-11-13T06:15:41.097 回答