【发布时间】:2015-06-20 00:43:21
【问题描述】:
所以,我使用 Ionic Framework 来创建移动应用程序。我使用 AngularJS 和 Google Maps API。最近,我遇到了一个烦人的问题。每当地图加载时,加载地图样式都会有短暂的延迟(但很明显)。由于我的地图样式将地图更改为黑白,因此这是有问题的。当我在浏览器和手机中运行应用程序时,它都是可见的。解决此问题的最佳方法是什么?
这是我的地图:
var styledMap = new google.maps.StyledMapType(MAP_STYLE,{name: "Styled Map"});
var mapOptions = {
center: { lat: Map.getMapPosition().k, lng: Map.getMapPosition().D },
zoom: 13,
maxZoom: 18,
minZoom: 13,
zoomControl: true,
draggable: true,
disableDoubleClickZoom: true,
disableDefaultUI: true,
mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'map_style']
}
};
MY.map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
MY.map.mapTypes.set('map_style', styledMap);
MY.map.setMapTypeId('map_style');
还有下面的map_style:
.constant('MAP_STYLE', [
{
"featureType": "landscape",
"stylers": [
{
"saturation": -100
},
{
"lightness": 65
},
{
"visibility": "on"
}
]},
{
"featureType": "poi",
"stylers": [
{
"saturation": -100
},
{
"lightness": 51
},
{
"visibility": "simplified"
}
]},
{
"featureType": "road.highway",
"stylers": [
{
"saturation": -100
},
{
"visibility": "simplified"
}
]},
{
"featureType": "road.arterial",
"stylers": [
{
"saturation": -100
},
{
"lightness": 30
},
{
"visibility": "on"
}
]},
{"featureType": "road.local",
"stylers": [
{
"saturation": -100
},
{
"lightness": 40
},
{
"visibility": "on"
}
]},
{"featureType": "transit",
"stylers": [
{
"saturation": -100
},
{
"visibility": "simplified"
}
]},
{"featureType": "administrative.province",
"stylers": [
{
"visibility": "off"
}]},
{"featureType": "water",
"elementType": "labels",
"stylers": [
{
"visibility": "on"
},
{
"lightness": -25
},
{
"saturation": -100
}
]},
{
"featureType": "water",
"elementType": "geometry",
"stylers": [
{
"hue": "#ffff00"
},
{
"lightness": -25
},
{
"saturation": -97
}
]}])
我正在添加具有类似代码的 JSFiddle(不完全是因为项目非常大,但地图部分完全相同)。
不过,在 JSFiddle 上无法观察到该问题。当我在 localhost 和手机上运行我的应用程序时,我可以看到它。
【问题讨论】:
-
什么是
MY_STYLE?使用属性的内部 API 名称(.k、.D)是不好的做法,它们可以而且确实会随着 API 的每个版本而改变。 -
嘿!我不确定您所说的 MY_STYLE 是什么?你是说map_style吗?
-
是的。如果我尝试重现您的错误,则未定义 MAP_STYLE。请提供显示问题的Minimal, Complete, Tested and Readable example。
-
对不起。我刚刚编辑了它!
-
正如@geocodezip 试图向您解释的那样,如果您不给我们一个工作示例(如 JSFiddle 或其他什么),我们将很难在其中看到这种延迟
标签: javascript html angularjs google-maps google-maps-api-3