图像在Google地图全屏显示中消失
我有一个徽标出现在地图的右下角,靠近控件。问题是当选择全屏选项时,徽标消失。 div(aggdata-info)似乎在那里,当我看着它在萤火虫但图像/标志不可见。有任何想法吗?图像在Google地图全屏显示中消失
initMap : function() {
\t \t \t var me = this;
\t \t \t me.map.mapOptions = {
\t \t \t \t \t zoom : 4,
\t \t \t \t \t center : {
\t \t \t \t \t \t lat: 37.6,
\t \t \t \t \t \t lng: -95.665
\t \t \t \t \t },
\t \t \t \t \t mapTypeControlOptions : {
\t \t \t \t \t \t mapTypeIds : [
\t \t \t \t \t \t \t //'map_style',
\t \t \t \t \t \t \t google.maps.MapTypeId.ROADMAP,
\t \t \t \t \t \t \t google.maps.MapTypeId.TERRAIN,
\t \t \t \t \t \t \t google.maps.MapTypeId.SATELLITE,
\t \t \t \t \t \t \t google.maps.MapTypeId.HYBRID
\t \t \t \t \t \t ]
\t \t \t \t \t },
\t \t \t \t \t //mapTypeId : 'map_style',
\t \t \t \t \t
\t \t \t \t \t zoomControl : true,
\t \t \t \t \t mapTypeControl : true,
\t \t \t \t \t scaleControl : false,
\t \t \t \t \t streetViewControl : true,
\t \t \t \t \t rotateControl : true,
\t \t \t \t \t fullscreenControl : true,
\t \t \t \t \t fullscreenControlOptions : {
\t \t \t \t \t \t position : google.maps.ControlPosition.RIGHT_BOTTOM
\t \t \t \t \t }
\t \t \t \t \t
\t \t \t \t };
div.aggdata-info {
\t height: 38px;
\t width: 170px;
\t text-align: center;
line-height: 28px;
\t background: #fff url(../cmnimages/reit_common/data_by_aggdata.png) center center no-repeat;
\t box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.5);
\t font-size: 12px;
\t position: absolute;
margin-top: 493px;
margin-left: 832px;
padding: 0px 5px 0px 5px;
}
Standard size with logo included Full screen logo disappears
下面是该分区的CSS。
请按照我的代码和对不起,我从来没有使用过你的代码!我做了我的代码中的所有更改。
注:InvalidKeyMapError https://developers.google.com/maps/documentation/javascript/error-messages#invalid-key-map-error:在您需要添加您的谷歌API密钥否则谷歌地图显示以下错误:
谷歌地图API错误文件我已经包含js文件。
使用此disableDefaultUI: true
我只是隐藏在谷歌地图对象,它也可能隐藏谷歌地图中的特定对象。
如果你想使用编辑你的代码,然后这下面的代码。
var customControlDiv = document.createElement('div');
var customControl = new CustomControl(customControlDiv, map);
customControlDiv.index = 1;
和功能
function CustomControl(controlDiv, map) {
var tempBackgroundImage = "http://www.clker.com/cliparts/W/0/g/a/W/E/map-pin-red-md.png";
controlDiv.style.padding = '5px';
controlDiv.style.right = '5px';
var myLocationControlDiv = document.createElement('DIV');
var controlUI = document.createElement('DIV');
controlUI.style.cursor = 'pointer';
controlUI.style.background = "url(" + tempBackgroundImage + ") 68px 78px";
controlUI.style.height = '68px';
controlUI.style.width = '68px';
controlUI.style.right = '15px';
controlUI.style.bottom = '50px';
controlUI.style.backgroundSize= '68px 78px';
controlUI.title = 'Current location';
myLocationControlDiv.appendChild(controlUI);
map.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(controlUI);
}
这就是它!
如果您不使用代码,则可以使用下面的整个代码。
的Html
var map;
function initMap() {
map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8,
disableDefaultUI: true
});
var customControlDiv = document.createElement('div');
var customControl = new CustomControl(customControlDiv, map);
customControlDiv.index = 1;
}
function CustomControl(controlDiv, map) {
\t \t \t var tempBackgroundImage = "http://www.clker.com/cliparts/W/0/g/a/W/E/map-pin-red-md.png";
\t \t \t controlDiv.style.padding = '5px';
\t \t \t controlDiv.style.right = '5px';
\t \t \t var myLocationControlDiv = document.createElement('DIV');
\t \t \t var controlUI = document.createElement('DIV');
\t \t \t controlUI.style.cursor = 'pointer';
\t \t \t controlUI.style.background = "url(" + tempBackgroundImage + ") 68px 78px";
\t \t \t controlUI.style.height = '68px';
\t \t \t controlUI.style.width = '68px';
\t \t \t controlUI.style.right = '15px';
\t \t \t controlUI.style.bottom = '50px';
\t \t \t controlUI.style.backgroundSize= '68px 78px';
\t \t \t controlUI.title = 'Current location';
\t \t \t myLocationControlDiv.appendChild(controlUI);
\t \t \t map.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(controlUI);
\t }
/* Always set the map height explicitly to define the size of the div
* element that contains the map. */
#map {
height: 100%;
}
/* Optional: Makes the sample page fill the window. */
html, body {
height: 100%;
margin: 0;
padding: 0;
}
<script src="https://maps.googleapis.com/maps/api/js?key={YOUR_API_KEY}&callback=initMap"
async defer></script>
<div id="map"></div>
重要的东西:
根据图像的大小,请更新以下值。
controlUI.style.height = '68px';
controlUI.style.width = '68px';
controlUI.style.backgroundSize= '68px 78px';
我可以把它放在一个单独的脚本中运行,还是需要将它集成到我的代码中? –
如果可能的话,然后集成您的代码。请添加以下代码:var customControlDiv = document.createElement('div'); var customControl = new CustomControl(customControlDiv,map); customControlDiv.index = 1;并将此函数的CustomControl()代码放入您的代码中。 –
感谢您的协助。 –
请分享您的JavaScript/jQuery代码在这里或jsfiddle?所以最好理解。 –
添加javascript代码 –
请检查我的答案。 –