Integration with Google Maps
Click marker to make menu appear
</> Source
<!DOCTYPE html>
<html>
<head>
<title>Integration with Google Maps</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<link rel="stylesheet" type="text/css" href="../../../codebase/fonts/font_roboto/roboto.css"/>
<link rel="stylesheet" type="text/css" href="../../../codebase/dhtmlx.css"/>
<script src="../../../codebase/dhtmlx.js"></script>
<style>
div#maps_here {
position: relative;
margin-left: 20px;
width: 600px;
height: 400px;
border: 1px solid #c0c0c0;
}
div.demo_info {
position: relative;
padding: 20px;
font-family: Tahoma;
font-size: 16px;
color: #333;
}
</style>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script>
var myMenu;
var GMaps, Marker, Overlay;
var NY = {lat: 40.719837, lng: -73.992348};
var mapOfs = {};
function doOnLoad() {
myMenu = new dhtmlXMenuObject({
icons_path: "../../../dhtmlxMenu/samples/common/imgs_maps/",
context: true,
json: [
{text: "Add to favorites", img: "fav.gif"},
{text: "Add new tag", img: "add_new_tag.gif"},
{text: "Open gallery", img: "open_gallery.gif"},
{type: "separator"},
{text: "Print map", img: "print.gif"},
{text: "Save as...", img: "save.gif"},
{type: "separator"},
{text: "Delete marker", img: "close.gif"}
]
});
var t = document.getElementById("maps_here");
mapOfs = {x: dhx4.absLeft(t), y: dhx4.absTop(t)};
GMaps = new google.maps.Map(t, {
center: new google.maps.LatLng(NY.lat, NY.lng),
zoom: 11,
mapTypeId: google.maps.MapTypeId.ROADMAP
});
Marker = new google.maps.Marker({
position: new google.maps.LatLng(NY.lat, NY.lng),
title: "Hello",
map: GMaps
});
google.maps.event.addListener(GMaps, "projection_changed", function(){
Overlay = new google.maps.OverlayView();
Overlay.setMap(GMaps);
Overlay.draw = function(){}
google.maps.event.addListener(Marker, "click", function(e){
var k = Overlay.getProjection().fromLatLngToContainerPixel(e.latLng);
window.setTimeout(function(){
myMenu.showContextMenu(Math.round(k.x)+mapOfs.x, Math.round(k.y)+mapOfs.y-20);
},1);
});
});
}
</script>
</head>
<body onload="doOnLoad();">
<div class="demo_info">Click marker to make menu appear</div>
<div id="maps_here"></div>
</body>
</html>
Documentation
Check documentation to learn how to use the components and easily implement them in your applications.