如何在 Android 中更改 Google 地图的颜色
How to change color of Google map in Android
我在这里尝试将 google 地图的颜色从白色更改为黑色,但没有得到好的解决方案。我尝试通过在其上使用相对布局来改变它,但它隐藏了那部分,它不会改变 GoogleMap
.
的颜色
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
class="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="100dp" />
为此,您必须使用 google 地图 v3 库。参见 documentation
我通过 运行 Google Map in WebView
的 Html
文件将 html 文件放入 assets 文件夹中得到了解决方案。我使用以下代码显示
<!DOCTYPE html>
<html>
<head>
<title>Panoramio Layer</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
#panel {
position: absolute;
top: 5px;
left: 50%;
margin-left: -180px;
z-index: 5;
background-color: #fff;
padding: 5px;
border: 1px solid #999;
}
#photo-panel {
background: #fff;
padding: 5px;
overflow-y: auto;
overflow-x: hidden;
width: 300px;
max-height: 300px;
font-size: 14px;
font-family: Arial;
border: 1px solid #ccc;
box-shadow: -2px 2px 2px rgba(33, 33, 33, 0.4);
display: none;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=panoramio"></script>
<script>
function initializeGmaps() {
var LatLng = {lat: 28.596979, lng: 77.326742};
var mapCanvas = document.getElementById('google-map');
var mapOptions = {
center : LatLng,
scrollwheel : false,
zoom : 14,
mapTypeId : google.maps.MapTypeId.ROADMAP,
backgroundColor: 'none',
styles : [{
stylers: [
{ invert_lightness: true },
{ hue: '#666' },
{ saturation: -100 },
{ lightness: -0 },
{ visibility: 'simplified' }
]
}]
}
var map = new google.maps.Map(mapCanvas, mapOptions);
var marker = new google.maps.Marker({
position: LatLng,
map: map,
icon: '<?=base_url();?>images/marker.png',
title: 'Advisorymandi.com Pvt. Ltd.'
});
}
google.maps.event.addDomListener(window, 'load', initializeGmaps);
</script>
</head>
<body>
<ul id="photo-panel">
<li><strong>Photos clicked</strong></li>
</ul>
<div id="google-map" class="youplay-gmaps" style=" height: 450px; width: 100%;"></div>
</body>
</html>
转到这里:https://mapstyle.withgoogle.com/
找到您的风格并获得 json 作为您的风格值并复制。
来到您的 android 地图项目资源,单击新建文件,添加 json 并粘贴样式 json 值,例如 style_map.json 和您的地图 activity 的 onMapReady(GoogleMap googleMap)
这样做:
mGoogleMap = googleMap;
MapStyleOptions mapStyleOptions = MapStyleOptions.loadRawResourceStyle(this, R.raw.style_json);
mGoogleMap.setMapStyle(mapStyleOptions);
对我有用:)
我在这里尝试将 google 地图的颜色从白色更改为黑色,但没有得到好的解决方案。我尝试通过在其上使用相对布局来改变它,但它隐藏了那部分,它不会改变 GoogleMap
.
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
class="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="100dp" />
为此,您必须使用 google 地图 v3 库。参见 documentation
我通过 运行 Google Map in WebView
的 Html
文件将 html 文件放入 assets 文件夹中得到了解决方案。我使用以下代码显示
<!DOCTYPE html>
<html>
<head>
<title>Panoramio Layer</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body, #map-canvas {
height: 100%;
margin: 0px;
padding: 0px
}
#panel {
position: absolute;
top: 5px;
left: 50%;
margin-left: -180px;
z-index: 5;
background-color: #fff;
padding: 5px;
border: 1px solid #999;
}
#photo-panel {
background: #fff;
padding: 5px;
overflow-y: auto;
overflow-x: hidden;
width: 300px;
max-height: 300px;
font-size: 14px;
font-family: Arial;
border: 1px solid #ccc;
box-shadow: -2px 2px 2px rgba(33, 33, 33, 0.4);
display: none;
}
</style>
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=panoramio"></script>
<script>
function initializeGmaps() {
var LatLng = {lat: 28.596979, lng: 77.326742};
var mapCanvas = document.getElementById('google-map');
var mapOptions = {
center : LatLng,
scrollwheel : false,
zoom : 14,
mapTypeId : google.maps.MapTypeId.ROADMAP,
backgroundColor: 'none',
styles : [{
stylers: [
{ invert_lightness: true },
{ hue: '#666' },
{ saturation: -100 },
{ lightness: -0 },
{ visibility: 'simplified' }
]
}]
}
var map = new google.maps.Map(mapCanvas, mapOptions);
var marker = new google.maps.Marker({
position: LatLng,
map: map,
icon: '<?=base_url();?>images/marker.png',
title: 'Advisorymandi.com Pvt. Ltd.'
});
}
google.maps.event.addDomListener(window, 'load', initializeGmaps);
</script>
</head>
<body>
<ul id="photo-panel">
<li><strong>Photos clicked</strong></li>
</ul>
<div id="google-map" class="youplay-gmaps" style=" height: 450px; width: 100%;"></div>
</body>
</html>
转到这里:https://mapstyle.withgoogle.com/
找到您的风格并获得 json 作为您的风格值并复制。
来到您的 android 地图项目资源,单击新建文件,添加 json 并粘贴样式 json 值,例如 style_map.json 和您的地图 activity 的 onMapReady(GoogleMap googleMap)
这样做:
mGoogleMap = googleMap;
MapStyleOptions mapStyleOptions = MapStyleOptions.loadRawResourceStyle(this, R.raw.style_json);
mGoogleMap.setMapStyle(mapStyleOptions);
对我有用:)