Administrator
2022-09-14 58d006e05dcf2a20d0ec5367dd03d66a61db6849
提交 | 用户 | 时间
58d006 1 GMaps.prototype.createPanorama = function(streetview_options) {
A 2   if (!streetview_options.hasOwnProperty('lat') || !streetview_options.hasOwnProperty('lng')) {
3     streetview_options.lat = this.getCenter().lat();
4     streetview_options.lng = this.getCenter().lng();
5   }
6
7   this.panorama = GMaps.createPanorama(streetview_options);
8
9   this.map.setStreetView(this.panorama);
10
11   return this.panorama;
12 };
13
14 GMaps.createPanorama = function(options) {
15   var el = getElementById(options.el, options.context);
16
17   options.position = new google.maps.LatLng(options.lat, options.lng);
18
19   delete options.el;
20   delete options.context;
21   delete options.lat;
22   delete options.lng;
23
24   var streetview_events = ['closeclick', 'links_changed', 'pano_changed', 'position_changed', 'pov_changed', 'resize', 'visible_changed'],
25       streetview_options = extend_object({visible : true}, options);
26
27   for (var i = 0; i < streetview_events.length; i++) {
28     delete streetview_options[streetview_events[i]];
29   }
30
31   var panorama = new google.maps.StreetViewPanorama(el, streetview_options);
32
33   for (var i = 0; i < streetview_events.length; i++) {
34     (function(object, name) {
35       if (options[name]) {
36         google.maps.event.addListener(object, name, function(){
37           options[name].apply(this);
38         });
39       }
40     })(panorama, streetview_events[i]);
41   }
42
43   return panorama;
44 };