2012-06-20 7 views
1

Я провел два дня, озадачив это и потерпел неудачу. Любая помощь будет высоко оценена.Google Map v3 Наложение земли?

Мне нужна карта с -18.975750, 32.669184 на холсте 1500px x 900px. Затем мне нужно наложить PNG покрытия (полученную форму www.heywhatsthat.com) с установленной прозрачностью кода.

В конце концов я пришел к следующему коду, и он терпит неудачу. Я хотел бы добавить более чем одну PNG, связанную с ее координатами, но не могу даже заставить ее работать.

<script src="http://maps.google.com/maps?file=api&amp;v=3&amp;key=AIzaSyAGbZjXr2wr7dT2P3O5pNo5wvVF3JiaopU&sensor=false" 
     type="text/javascript"></script> 
<script type="text/javascript"> 

function initialize() { 
    if (GBrowserIsCompatible()) { 
    var map = new google.maps.MAP(document.getElementById("map_canvas")); 
    map.setCenter(new GLatLng(-18.975750, 32.669184), 13); 
    map.setUIToDefault(); 

    var imageBounds = new google.maps.LatLngBounds(
    new google.maps.LatLng(-19.000417,30.999583), 
    new google.maps.LatLng(-17.999583,32.000417)); 

    var oldmap = new google.maps.GroundOverlay(
    "http://www.earthstation.mobi/cloakpS19E031.png",imageBounds); 
    oldmap.setMap(map); 
} 

</script> 
</head> 
<body onload="initialize()" onunload="GUnload()"> 
<div id="map_canvas" style="width: 1500px; height: 900px"></div> 
</body> 
</html> 

Что я mssing и, пожалуйста, мне точку в правильном направлении, добавить несколько наложений PNG с прозрачностью в опциях.

Благодаря Брайан Зимбабве

+0

вы можете не захотеть опубликовать свой ключ ... просто совет ... – roberthuttinger

ответ

2

У вас есть много проблем с вашим кодом. Похоже, вы пытаетесь перейти с V2 на V3, и у вас все еще есть методы и объекты V2 в вашем коде. Вы также не загружаете JS APi правильно, когда звоните в свой HTML.

Вот функциональный код, который отображает наложение с использованием API V3, но похоже, что исходные координаты центра, которые вы использовали, не размещают карту в центре наложения (вам нужно это выяснить самостоятельно) , Я добавил комментарии, где это уместно, чтобы вы могли видеть, с чего вы сбились с пути. Обратите внимание на вызов библиотеки API в первом теге скрипта.

<script src="http://maps.googleapis.com/maps/api/js?key=AIzaSyAGbZjXr2wr7dT2P3O5pNo5wvVF3JiaopU&sensor=false" 
      type="text/javascript"></script> 
    <script type="text/javascript"> 

    function initialize() { 
    //You don't need to use GBrowserIsCompatible, it's only for V2 of the API 
    //if (GBrowserIsCompatible()) { 
     //You need to set up options for the map that you reference when you 
     //instantiate the map object 
     var myOptions = { 
       center: new google.maps.LatLng(-18.975750, 32.669184), 
       zoom: 13, 
       mapTypeId: google.maps.MapTypeId.ROADMAP 
       }; 
     //Your code references google.maps.MAP; it's google.maps.Map 
     var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

     var imageBounds = new google.maps.LatLngBounds(
     new google.maps.LatLng(-19.000417,30.999583), 
     new google.maps.LatLng(-17.999583,32.000417)); 

     var oldmap = new google.maps.GroundOverlay(
     "http://www.earthstation.mobi/cloakpS19E031.png",imageBounds); 
     oldmap.setMap(map); 
    //} <--Your code was missing this closing bracket for the conditional 
     //But the conditional is not even needed, since GBrowserCompatible is a V2 thing 
    } 

    </script> 
    </head> 
    <body onload="initialize()"> 
    <div id="map_canvas" style="width: 1500px; height: 900px"></div> 
    </body> 
    </html> 
+0

@ andresf Большое спасибо, работая! Два дополнительных вопроса. Настройка прозрачности наложения и добавление большего количества наложений к одной карте. Я загрузил другое наложение на веб-сервер. Название изображения (на том же URL-адресе) - cloakpS19E032.png Это будет оверлей в центре карты, есть множество оверлеев, чтобы добавить к этой зоне покрытия беспроводной сети около 500 кв. Км. Связанные со-ords этого второго накладкой из KML-файла являются -17,999583 \t \t \t \t -19,000417 \t \t \t \t 33,000417 \t \t \t \t 31,999583 Еще раз спасибо Брайан –

+0

Вы, вероятно, захотите задать их как другие вопросы или исследование Stack Overflow, чтобы узнать, были ли они заданы раньше. Вы также можете указать, что я правильно ответил на ваш вопрос. – andresf

Смежные вопросы