Google地图集成问题:"此网站已超出其每日地图配额

时间:2016-07-21 06:15:39

标签: google-maps

我从AJAX获得经度和纬度,并在每个页面加载时给我更多120。将结果位置标记为谷歌地图并使用浏览器键。它工作正常,但突然间它停止工作并且这个网站已经超过了每日的地图配额。如果您是本网站的创建者,请访问文档以了解更多信息'错误加页面挂起。已经超过24小时,但问题仍然存在。我试图找出解决方案,但没有运气,我更改了新的API密钥。

JS文件:

<script src="http://open.mapquestapi.com/sdk/js/v7.2.s/mqa.toolkit.js?key=my-browser-key"></script>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true&libraries=geometry"></script>

JS代码:

var map;
var infowindow;
var service;
var address     = "United Kingdom";
var latitude    = '51.497801';
var longitude   = '-0.065918';
var myLatlng    = new google.maps.LatLng(latitude,longitude); 
var geocoder    = new google.maps.Geocoder();
var markers     = '';
function initialize() {
    var bounds = new google.maps.LatLngBounds();
    var getTeamsUrl = Routing.generate('getAllUsers',{});
    $.ajax({
        url      : getTeamsUrl,
        type     : 'POST', 
        data     : 'type=getAllUsers',
        datatype : 'json',
        async    : false,
        success : function(data){
            markers = JSON.parse(data);
        }
    });
    console.log(markers.length);
    myLatlng = new google.maps.LatLng(latitude,longitude);  /* latitude and longitude*/
    var mapOptions = {
        zoom: 7,
        center: myLatlng,
        panControl:true,    
        draggable: true,
        zoomControl:true,
        scrollwheel: false,
        scaleControl:false,
        rotateControl:true,
        mapTypeControl:true,    
        streetViewControl:true,
        overviewMapControl:true,
        navigationControl: true,
        mapTypeId:google.maps.MapTypeId.ROADMAP
    }
    map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
    // Display multiple markers on a map
    var infoWindow = new google.maps.InfoWindow(), marker, i;

    for( i = 0; i < markers.length; i++ ){
        name      = markers[i]['title']+' '+ markers[i]['first_name']+' '+ markers[i]['surname'];
        address   = markers[i]['address_1']+' '+ markers[i]['address_2']+', '+ markers[i]['city']+', '+ markers[i]['postcode'];
        longitude = markers[i]['longitude'];
        latitude  = markers[i]['latitude'];
        addMarkerOnMapUsingLatLng(latitude, longitude, name, address, '', 1);
    }

}


function addMarkerOnMapUsingLatLng(lat,lng, name, address, icon, selected){
    if(lat!='' && lng!=''){
        myLatlng = new google.maps.LatLng(lat,lng);
    }
    var mapOptions = {
        zoom: 7,
        center: myLatlng,
        panControl:true,    
        draggable: true,
        zoomControl:true,
        scrollwheel: false,
        scaleControl:false,
        rotateControl:true,
        mapTypeControl:true,    
        streetViewControl:true,
        overviewMapControl:true,
        navigationControl: true,
        zoomControlOptions: {
            position: google.maps.ControlPosition.LEFT_BOTTOM
        },
        streetViewControlOptions: {
            position: google.maps.ControlPosition.LEFT_BOTTOM
        },
        mapTypeId:google.maps.MapTypeId.ROADMAP
    }
    if(selected==1){
        map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
        map.setCenter(myLatlng);
    }
    var infowindow = new google.maps.InfoWindow({ 
        content: address,
        size: new google.maps.Size(150,50)
    });
    var marker = new google.maps.Marker({
        position: myLatlng,
        map: map, 
        title: name/*,
        icon : icon*/
    }); 
    google.maps.event.addListener(marker, 'click', function(){
        /* infoWindow.setContent(address); */
        infowindow.open(map, marker);
    });
}

1 个答案:

答案 0 :(得分:0)

由于您使用的是Google Maps JavaScript API,因此standard API的用户可以免费使用,直到每24小时超过25,000次地图加载。

请注意,对于June 22, 2016之前有效实施Google Maps JavaScript API的客户,可能会适用配额例外。在某些情况下,每天超过25,000的地图载荷可以免费使用,直到2016年10月12日。

如果您超出免费使用限制,则结算费用为0.50美元/ 1000个额外请求,每24小时最多100,000个。

只需查看上面的链接,了解有关Google Maps API使用限制的更多信息