<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>自定义覆盖物</title>
<style>
#map{
width: 800px;
height: 800px;
}
</style>
<script src="http://maps.googleapis.com/maps/api/js?key=key&language=en&libraries=drawing,geometry,visualization"></script>
<script src="js/ComplexCustomOverlay.js" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div id="map"></div>
</body>
<script type="text/javascript">
var centerPoint = new google.maps.LatLng(31.2351581719, 121.5060055700); //金茂大厦
map = new google.maps.Map(document.getElementById('map'), {
zoom: 15,
minZoom: 1,
center: centerPoint,
// styles : styleJson,
zoomControl: false, // 启用/禁用缩放控件
mapTypeControl: false, // 启用/禁用允许用户在地图类型(例如地图和卫星)之间切换的地图类型控件
scaleControl: false, // 启用/禁用提供简单地图比例的“缩放”控件
streetViewControl: false, // 启用/禁用Pegman控件
rotateControl: false, // 启用/禁用旋转控件的外观以控制45°图像的方向
fullscreenControl: false, // 是否全屏 此控件在移动设备上可见,在桌面上不可见
gestureHandling: 'greedy', // 属性设置
// greedy为触摸屏和移动设备,以允许用户在用户滑动(拖动)屏幕时平移地图(向上或向下,向左或向右)。换句话说,单指滑动和双指滑动都可以使地图平移。
});
function ComplexCustomOverlay(point, pointClass) {
this._point = point;
// this._pointClass = pointClass;
this._div = null;
this.setMap(map);
}
ComplexCustomOverlay.prototype = new google.maps.OverlayView();
ComplexCustomOverlay.prototype.onAdd = function() {
var div = document.createElement("div");
div.innerHTML = "<div style='width: 100px;height: 60px;border: 1px solid red;'>测试自定义覆盖物测试自定义覆盖物测试自定义覆盖物</div>";
// div.className = this._pointClass;
//将元素添加到可点击图层
this.getPanes().overlayMouseTarget.appendChild(div);
this._div = div;
return div;
}
ComplexCustomOverlay.prototype.draw = function() {
var overlayProjection = this.getProjection();
var pixel = overlayProjection.fromLatLngToDivPixel(this._point);
this._div.style.position = "absolute";
//需自己计算偏移位置
this._div.style.left = pixel.x - 17.5 + "px";
this._div.style.top = pixel.y - 19.5 + "px";
}
var myCompOverlay = new ComplexCustomOverlay(centerPoint, "startPoint");
myCompOverlay.setMap(map);
</script>
</html>
谷歌地图自定义覆盖物
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- Android 高德地图上添加覆盖物最简单的是直接添加Marker AMap aMap =mapView.getM...
- 给自定义覆盖物添加了click事件后,页面跳转再跳回有覆盖物的页面时,点击事件失效了。之前是 div.onclic...