JSFiddle - React, Tailwind, and code Playground
by kuyabiye
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/qtip2/3.0.3/basic/jquery.qtip.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/qtip2/3.0.3/basic/jquery.qtip.min.css">
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Google Maps Multiple Markers</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 500px; height: 400px;"></div>
<a href="#" class="tippy" title="it's working">check that tips are working</a>
</body>
</html>
CSS
body{
padding: 100px;
}
JavaScript
var locations = [
['Bondi Beach', -33.890542, 151.274856, 4],
['Coogee Beach', -33.923036, 151.259052, 5],
['Cronulla Beach', -34.028249, 151.157507, 3],
['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
['Maroubra Beach', -33.950198, 151.259302, 1]
];
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(-33.92, 151.25),
mapTypeId: google.maps.MapTypeId.ROADMAP
});
var infowindow = new google.maps.InfoWindow();
var marker, i;
// qtip hover conversion
var latLngToPixel;
function LatLngToPixel(map) {
this.setMap(map);
}
LatLngToPixel.prototype = new google.maps.OverlayView();
LatLngToPixel.prototype.draw = function() {}
// Create new control to display latlng and coordinates under mouse.
latLngToPixel = new LatLngToPixel(map);
for (i = 0; i < locations.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(locations[i][1], locations[i][2]),
map: map
});
google.maps.event.addListener(marker, 'click', (function(marker, i) {
return function() {
infowindow.setContent(locations[i][0]);
infowindow.open(map, marker);
}
})(marker, i));
google.maps.event.addListener(marker, 'mouseover', function(event) {
var pixel = latLngToPixel.getProjection().fromLatLngToContainerPixel(event.latLng);
console.log(pixel)
// Grab marker position
var pos = [ pixel.x, pixel.y ];
// Create the tooltip on a dummy div and store it on the marker
marker.tooltip = $('<div />').qtip({
content: {
text: 'I\'m a replacement tooltip for the regular google one<br />New line<br /> new line<br />Newer line',
title: {
text: 'aaa',
button: true
}
},
position: {
target: pos,
container: $('#map_canvas')
},
show: {
ready: true,
event:...