Карты Google - символы
Помимо маркеров, многоугольников, полилиний и других геометрических фигур, мы также можем добавлять на карту заранее определенные векторные изображения (символы). В этой главе объясняется, как использовать символы, предоставленные Google Maps.
Добавление символа
Google предоставляет различные векторные изображения (символы), которые можно использовать на маркере или ломаной линии. Как и другие наложения, чтобы нарисовать эти предопределенные символы на карте, мы должны создать экземпляры их соответствующих классов. Ниже приведен список предопределенных символов, предоставленных Google, и их имена классов.
Circle - google.maps.SymbolPath.CIRCLE
Backward Pointing arrow (closed) - google.maps.SymbolPath.BACKWARD_CLOSED_ARROW
Forward Pointing arrow (closed) - google.maps.SymbolPath.FORWARD_CLOSED_ARROW
Forward Pointing arrow (open) - google.maps.SymbolPath.CIRCLE
Backward Pointing arrow (open) - google.maps.SymbolPath.CIRCLE
Эти символы имеют следующие свойства - path, fillColor, fillOpacity, scale, stokeColor, strokeOpacity и strokeWeight.
пример
В следующем примере показано, как рисовать предопределенные символы на Google Map.
<!DOCTYPE html>
<html>
<head>
<script src = "https://maps.googleapis.com/maps/api/js"></script>
<script>
function loadMap() {
var mapOptions = {
center:new google.maps.LatLng(17.433053, 78.412172),
zoom:5
}
var map = new google.maps.Map(document.getElementById("sample"),mapOptions);
var marker = new google.maps.Marker({
position: map.getCenter(),
icon: {
path: google.maps.SymbolPath.BACKWARD_CLOSED_ARROW,
scale: 5,
strokeWeight:2,
strokeColor:"#B40404"
},
draggable:true,
map: map,
});
}
</script>
</head>
<body onload = "loadMap()">
<div id = "sample" style = "width:580px; height:400px;"></div>
</body>
</html>
Он производит следующий вывод -
Анимация символа
Как и в случае с маркерами, вы можете добавлять к символам такие анимации, как отскок и падение.
пример
В следующем примере показано, как использовать символ в качестве маркера на карте и добавить к нему анимацию.
<!DOCTYPE html>
<html>
<head>
<script src = "https://maps.googleapis.com/maps/api/js"></script>
<script>
function loadMap() {
var mapOptions = {
center:new google.maps.LatLng(17.433053, 78.412172),
zoom:5
}
var map = new google.maps.Map(document.getElementById("sample"),mapOptions);
var marker = new google.maps.Marker({
position: map.getCenter(),
icon: {
path: google.maps.SymbolPath.BACKWARD_CLOSED_ARROW,
scale: 5,
strokeWeight:2,
strokeColor:"#B40404"
},
animation:google.maps.Animation.DROP,
draggable:true,
map: map
});
}
</script>
</head>
<body onload = "loadMap()">
<div id = "sample" style = "width:580px; height:400px;"></div>
</body>
</html>
Он производит следующий вывод -