2013-03-05 6 views
17

Google Haritalar'da geometri kullanarak bazı sıkıntılar yaşıyorum. Aşağıdaki hatayı alıyorum: "Tanımlanmamış veya boş başvurulardan 'özellik' küresel alınamadı."google.maps.geometry.spherical error

Bu, bazı eklentilerle birlikte w3c'nin bazı kodlarıdır.

var x=new google.maps.LatLng(52.395715,4.888916); 
var stavanger=new google.maps.LatLng(58.983991,5.734863); 
var amsterdam=new google.maps.LatLng(52.395715,4.888916); 
var london=new google.maps.LatLng(51.508742,-0.120850); 
function initialize() 
{ 
var mapProp = { 
    center:x, 
    zoom:4, 
    mapTypeId:google.maps.MapTypeId.ROADMAP 
}; 

var map=new google.maps.Map(document.getElementById("googleMap"),mapProp); 
var myTrip=[stavanger,amsterdam,london]; 
var flightPath=new google.maps.Polyline({ 
    path:myTrip, 
    strokeColor:"#0000FF", 
    strokeOpacity:0.8, 
    strokeWeight:2 
    }); 
flightPath.setMap(map); 

try{ 
    var markerpos = google.maps.geometry.spherical.interpolate(flightPath.getAt(0), flightPath.getAt(1), .5); 
    // also tried // 
    //var Spherical = google.maps.geometry.spherical; 
    //var markerpos = Spherical.interpolate(flightPath.getAt(0), flightPath.getAt(1), .5); 
    //var markerpos = google.maps.geometry.spherical.interpolate(amsterdam, london, .5); 
} 
catch(ex){alert(ex);} 

var marker = new google.maps.Marker({position: markerpos, 
    map: map, clickable: false 
}); 
} 

Yukarıdaki kodda sorun nedir?

+0

Eğer geometri kitaplığı yüklenemedi mü? – Rick

cevap

58

correct librarylibraries= parametresiyle yükleniyor musunuz?

<script src="https://maps.googleapis.com/maps/api/js?v=3&sensor=false&libraries=geometry"></script> 
+0

evet, yükledim !!! – Reven

+0

oups ... Bir sözdizimi hatası vardı! – Reven

+0

Teşekkürler, bu sorun beni çıldırtıyordu. Google Haritalar'ın "maps.googleapis.com/maps/api" adresindeki tüm araçlara sahip olmasına rağmen, bu kütüphanenin API sitesinde "Genel Bakış" bölümünde belirtildiği gibi varsayılan olarak yer almadığını fark etmemiştim (https://developers.google.com/maps/documentation/javascript/geometry). Ne aradığımı bilmediğimde bu tür detayları özlüyorum. Söylediğiniz gibi "& library = geometri" olarak eklenmelidir. – Timbergus

0

Önce kütüphane modüllerini ve sonra auth anahtar modülünü almanız gerekir. Burada, kütüphane modüllerini içe aktarma işleminin yapıldığı sırada problemin, kütüphane modüllerini içe aktarma işleminin tamamlanmadığını düşünüyorum. Eğer auth anahtar modülünü içe aktarırsanız, önce ne olduğunu hemen kütüphane modülleri yüklemesi tamamlanmadığı zaman initialize() yöntemini çağırır. Bu yüzden önce kütüphane modüllerini ve ardından yetkili modülü almanız gerekiyor.