OSX中的Google Map Makers Sprite无法显示

时间:2012-08-09 10:08:32

标签: iphone ios google-maps-api-3 google-maps-markers

当我在iphone上使用图像精灵时,我似乎无法显示我的地图标记。它们出现在我在iphone上使用标准谷歌地图标记时,当在桌面上查看网站时,精灵图标工作正常。

以下是我用来创建标记的代码,我使用的是Zepto,但JQuery可以轻松应用。

$.ajax({
    dataType: 'jsonp',
     url: myLocations.LocatorUrl,
     timeout: 8000,
     success: function(data) {
        var infoWindow = new google.maps.InfoWindow();
        var bounds = new google.maps.LatLngBounds();                            
        $.each(data, function(index, item){                 
            var data = item, pincolor,
            latLng = new google.maps.LatLng(data.lat, data.lng); 
            var d = 'http://blah';
            var pinImage = new google.maps.MarkerImage(d+"/assets/img/sprite.locator.png",                          
                        new google.maps.Size(24, 36),
                        new google.maps.Point(0,25),
                        new google.maps.Point(10, 34));
            // Creating a marker and putting it on the map
                var marker = new google.maps.Marker({
                    position: latLng,
                    map: map,
                    title: data.type,
                    icon: pinImage

                });

                bounds.extend(latLng); // Extend the Latlng bound method                    
                var bubbleHtml = '<div class="bubble"><h2>'+item.type+'</h2><p>'+item.address+'</p></div>'; // Custom HTML for the bubble
                (function(marker, data) {                   
                  // Attaching a click event to the current marker                
                  google.maps.event.addListener(marker, "click", function(e) {                  
                    infoWindow.setContent(bubbleHtml);
                    infoWindow.open(map, marker);
                  });   
                  markers.push(marker); // Push markers into an array so they can be removed
                })(marker, data);
            });
            map.fitBounds(bounds); // Center based on values added to bounds        
        }, error: function(x, t, m) {
            console.log('errors')
            if(t==="timeout") {
                alert("got timeout");
            } else {
                alert(t);
            }
        }
    });

1 个答案:

答案 0 :(得分:0)

知道了。当我将它交换到我所使用的本地机器的实际IP地址时,我所引用的图像是在localhost上的。