2011-04-07 3 views
4

http://maps.google.com/maps/api/staticmap?size=600x240&markers=icon:http://100procentjan.nl/tweakers/punaise.png|shadow:false|52.369010925293,4.8560848236084&sensor=false&zoom=15&center=52.369010925293,4.8560848236084 형태의 정적지도 URI가있는 페이지가 있습니다.Google지도 정적 API가 이상한 이미지를 반환합니다.

모든 브라우저에서이 페이지를 방문하면 BES (하지만 동일한 무선 네트워크)를 통해 연결된 Blackberry를 통해 사용하면 브라우저가 제대로 표시됩니다. 그런 다음이 이미지가 나타납니다 :

Argh

사람이 이미지가 무엇을 의미하는지 알고 있나요? 당신은 특정 IP 주소에 대한 exceeded the usage limits

+0

나에게도 '403 금지됨'이라는 동일한 그래픽이 표시되지 않습니다. BB 개인, BES 없음. – sarnold

답변

3

이것은 Google 정적지도 API의 BB 관련 문제입니다. API 속도 제한은 정상이지만 BB 장치를 사용할 때 더 자주 나타납니다.

그들은 IP 풀을 사용하고있는 것으로 보입니다. 이것은 이론상 매우 간헐적 인 문제입니다. 며칠 동안 기다리면 사라져야합니다.

즉, 총체적으로 IP가 24 시간 동안 정적지도 API에 1000 회 이상 도달했습니다. 이는 짧은 시간 내에 API를 너무 자주 실행하는 경우에도 발생합니다.

내 솔루션은 Google에서지도 이미지를 한 번 요청한 간단한 PHP 스크립트를 작성하여 파일로 저장하고 매번지도 API를 누르는 대신 제공했습니다.

<?php 

header('Content-Type: image/jpeg'); 

$latlng = (isset($_GET['c']))? $_GET['c'] : NULL ; 
$zoom = (isset($_GET['z']))? $_GET['z'] : 9 ; 
$file = "cache/p_$p-z_$zoom.jpg"; 

if(!file_exists($file)) 
{ 
    $parts = array(
     'center' => $latlng, 
     'zoom' => $zoom, 
     'size' => '320x240', 
     'maptype' => 'terrain', 
     'sensor' => 'false', 
     'format' => 'jpeg' 
    );  

    file_put_contents(
     $file, file_get_contents("http://maps.googleapis.com/maps/api/staticmap?".implode('&', $parts)) 
    ); 
} 

echo file_get_contents($file); 
+1

Google에서 허용하지 않는 것 같습니다.하지만 잘 알지 못합니다. https://developers.google.com/maps/faq#tos_staticmaps_reuse – guya

5

0

"구글 정적지도 API를 사용하면 뷰어 당 일일 1000 고유 한 (서로 다른) 이미지 요청의 쿼리 제한이 적용됩니다"나는이를 얻을 수 항상, 블랙 베리에. 사용량이 제한되어 있다고 생각하지 마십시오. 블랙 베리와 관련된 공유 IP 문제가없는 한, 전체 액세스 = 1입니다.

+1

저는 Blackberry가 이러한 요청을 처리하는 방식과 관련이 있다는 것을 확신합니다. 다른 장치에서이 문제를 보지 못했습니다. –

3

나는 다양한 무선 통신 사업자에이 같은 문제가 발생 하였다

여기에 코드입니다. 나는 이것이 무선 통신 사업자가 사용하는 동일한 외부 IP 주소를 통해 트래픽 유입 경로를 쏟아 부어 많은 사용자를 보유한 것으로 판단된다. Google은이 모든 것을 단일 요청 소스로 간주합니다.

수정하려면 정적지도 요청이 끝날 때까지 Google API 키를 추가해야합니다. 예 :

http://maps.googleapis.com/maps/api/staticmap?center=<lat>,<lng>&zoom=17&markers=color:0059A9%7C<lat>,<lng>&size=576x174&sensor=false&key=YOUR_SUPER_LONG_GOOGLE_API_KEY_GOES_HERE

관련 문제