{"id":3590,"date":"2018-11-13T06:12:40","date_gmt":"2018-11-13T06:12:40","guid":{"rendered":"https:\/\/www.codexworld.com\/?p=3590"},"modified":"2018-11-13T06:19:44","modified_gmt":"2018-11-13T06:19:44","slug":"adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database","status":"publish","type":"post","link":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/","title":{"rendered":"Adding Multiple Markers with Info Windows to Google Maps Dynamically from Database"},"content":{"rendered":"<p>Google Map provides an easy way to mark a location on the map and embed it on the web page. A marker points out a location on the map and an InfoWindow display content in a popup over the map. Add marker with infowindow to Google Map helps to identify the location more accurately with some additional information about the given location.<\/p>\n<p>Multiple markers are very useful to display multiple locations in a single map. You can embed <a href=\"https:\/\/www.codexworld.com\/google-maps-with-multiple-markers-using-javascript-api\/\">Google Map with multiple markers and info windows<\/a> using Google Maps JavaScript API v3. In this case, the latitude and longitude of the locations are specified statically in the Google maps object. But if the latitude and longitude are stored in the database, they need to be assigned dynamically in the Google maps object. In this tutorial, we will show you how to add <b>multiple markers with info windows<\/b> to Google map dynamically from database using PHP and MySQL.<\/p>\n<h2>Get an API key<\/h2>\n<p>An API key is required to authenticate with Google Maps JavaScript API. On <b>Google Maps JavaScript API<\/b> call, an API key must include in the key parameter. So, before you begin to embed Google Maps on the web page, create an API key on Google Developer API Console. <\/p>\n<ul class=\"bullet_disk_list\">\n<li><a href=\"https:\/\/www.codexworld.com\/get-google-maps-javascript-api-key\/\">How to Get Google Maps JavaScript API Key<\/a><\/li>\n<\/ul>\n<p>Once you got the API key from Google API Console, copy this API key for later use in the script on Google Maps JavaScript API request.<\/p>\n<h2>Create Database Table<\/h2>\n<p>To store the locations data a table needs to be created in the database. The following SQL creates a <code>locations<\/code> table with some basic fields (latitude, longitude, location name, and info) in the MySQL database.<\/p>\n<pre><span style=\"color: rgb(149, 65, 33);\">CREATE<\/span> <span style=\"color: rgb(149, 65, 33);\">TABLE<\/span> <span style=\"color: rgb(33, 145, 97);\">`locations`<\/span> (\r\n <span style=\"color: rgb(33, 145, 97);\">`id`<\/span> <span style=\"color: rgb(0, 134, 179);\">int<\/span>(<span style=\"color: rgb(64, 160, 112);\">11<\/span>) <span style=\"color: rgb(149, 65, 33);\">NOT<\/span> <span style=\"color: rgb(149, 65, 33);\">NULL<\/span> AUTO_INCREMENT,\r\n <span style=\"color: rgb(33, 145, 97);\">`latitude`<\/span> <span style=\"color: rgb(0, 134, 179);\">varchar<\/span>(<span style=\"color: rgb(64, 160, 112);\">20<\/span>) <span style=\"color: rgb(149, 65, 33);\">COLLATE<\/span> utf8_unicode_ci <span style=\"color: rgb(149, 65, 33);\">NOT<\/span> <span style=\"color: rgb(149, 65, 33);\">NULL<\/span>,\r\n <span style=\"color: rgb(33, 145, 97);\">`longitude`<\/span> <span style=\"color: rgb(0, 134, 179);\">varchar<\/span>(<span style=\"color: rgb(64, 160, 112);\">20<\/span>) <span style=\"color: rgb(149, 65, 33);\">COLLATE<\/span> utf8_unicode_ci <span style=\"color: rgb(149, 65, 33);\">NOT<\/span> <span style=\"color: rgb(149, 65, 33);\">NULL<\/span>,\r\n <span style=\"color: rgb(33, 145, 97);\">`name`<\/span> <span style=\"color: rgb(0, 134, 179);\">varchar<\/span>(<span style=\"color: rgb(64, 160, 112);\">100<\/span>) <span style=\"color: rgb(149, 65, 33);\">COLLATE<\/span> utf8_unicode_ci <span style=\"color: rgb(149, 65, 33);\">NOT<\/span> <span style=\"color: rgb(149, 65, 33);\">NULL<\/span>,\r\n <span style=\"color: rgb(33, 145, 97);\">`info`<\/span> <span style=\"color: rgb(0, 134, 179);\">varchar<\/span>(<span style=\"color: rgb(64, 160, 112);\">255<\/span>) <span style=\"color: rgb(149, 65, 33);\">COLLATE<\/span> utf8_unicode_ci <span style=\"color: rgb(149, 65, 33);\">NOT<\/span> <span style=\"color: rgb(149, 65, 33);\">NULL<\/span>,\r\n PRIMARY <span style=\"color: rgb(149, 65, 33);\">KEY<\/span> (<span style=\"color: rgb(33, 145, 97);\">`id`<\/span>)\r\n) <span style=\"color: rgb(149, 65, 33);\">ENGINE<\/span>=<span style=\"color: rgb(149, 65, 33);\">InnoDB<\/span> <span style=\"color: rgb(149, 65, 33);\">DEFAULT<\/span> <span style=\"color: rgb(149, 65, 33);\">CHARSET<\/span>=utf8 <span style=\"color: rgb(149, 65, 33);\">COLLATE<\/span>=utf8_unicode_ci;<\/pre>\n<h2>Database Configuration (dbConfig.php)<\/h2>\n<p>The <code>dbConfig.php<\/code> file is used to connect and select the database. Specify the database host (<code>$dbHost<\/code>), username (<code>$dbUsername<\/code>), password (<code>$dbPassword<\/code>), and name (<code>$dbName<\/code>) as per your MySQL database credentials.<\/p>\n<pre><span style=\"color: #0000BB\">&lt;?php<br \/><\/span><span style=\"color: #FF8000\">\/\/&nbsp;Database&nbsp;configuration<br \/><\/span><span style=\"color: #0000BB\">$dbHost&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"color: #007700\">=&nbsp;<\/span><span style=\"color: #DD0000\">\"localhost\"<\/span><span style=\"color: #007700\">;<br \/><\/span><span style=\"color: #0000BB\">$dbUsername&nbsp;<\/span><span style=\"color: #007700\">=&nbsp;<\/span><span style=\"color: #DD0000\">\"root\"<\/span><span style=\"color: #007700\">;<br \/><\/span><span style=\"color: #0000BB\">$dbPassword&nbsp;<\/span><span style=\"color: #007700\">=&nbsp;<\/span><span style=\"color: #DD0000\">\"root\"<\/span><span style=\"color: #007700\">;<br \/><\/span><span style=\"color: #0000BB\">$dbName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"color: #007700\">=&nbsp;<\/span><span style=\"color: #DD0000\">\"codexworld\"<\/span><span style=\"color: #007700\">;<br \/><br \/><\/span><span style=\"color: #FF8000\">\/\/&nbsp;Create&nbsp;database&nbsp;connection<br \/><\/span><span style=\"color: #0000BB\">$db&nbsp;<\/span><span style=\"color: #007700\">=&nbsp;new&nbsp;<\/span><span style=\"color: #0000BB\">mysqli<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #0000BB\">$dbHost<\/span><span style=\"color: #007700\">,&nbsp;<\/span><span style=\"color: #0000BB\">$dbUsername<\/span><span style=\"color: #007700\">,&nbsp;<\/span><span style=\"color: #0000BB\">$dbPassword<\/span><span style=\"color: #007700\">,&nbsp;<\/span><span style=\"color: #0000BB\">$dbName<\/span><span style=\"color: #007700\">);<br \/><br \/><\/span><span style=\"color: #FF8000\">\/\/&nbsp;Check&nbsp;connection<br \/><\/span><span style=\"color: #007700\">if&nbsp;(<\/span><span style=\"color: #0000BB\">$db<\/span><span style=\"color: #007700\">-&gt;<\/span><span style=\"color: #0000BB\">connect_error<\/span><span style=\"color: #007700\">)&nbsp;{<br \/>&nbsp;&nbsp;&nbsp;&nbsp;die(<\/span><span style=\"color: #DD0000\">\"Connection&nbsp;failed:&nbsp;\"&nbsp;<\/span><span style=\"color: #007700\">.&nbsp;<\/span><span style=\"color: #0000BB\">$db<\/span><span style=\"color: #007700\">-&gt;<\/span><span style=\"color: #0000BB\">connect_error<\/span><span style=\"color: #007700\">);<br \/>}<\/span><\/pre>\n<h2>Get Location Info from Database<\/h2>\n<p>The latitude and longitude of the multiple locations are fetched from the database using PHP and MySQL.<\/p>\n<ul class=\"bullet_disk_list\">\n<li>The first result set is used to generate multiple markers info (location, latitude, and longitude).<\/li>\n<li>The second result set is used to generate content of info windows.<\/li>\n<\/ul>\n<pre><span style=\"color: #0000BB\">&lt;?php<br \/><\/span><span style=\"color: #FF8000\">\/\/&nbsp;Include&nbsp;the&nbsp;database&nbsp;configuration&nbsp;file<br \/><\/span><span style=\"color: #007700\">require_once&nbsp;<\/span><span style=\"color: #DD0000\">'dbConfig.php'<\/span><span style=\"color: #007700\">;<br \/><br \/><\/span><span style=\"color: #FF8000\">\/\/&nbsp;Fetch&nbsp;the&nbsp;marker&nbsp;info&nbsp;from&nbsp;the&nbsp;database<br \/><\/span><span style=\"color: #0000BB\">$result&nbsp;<\/span><span style=\"color: #007700\">=&nbsp;<\/span><span style=\"color: #0000BB\">$db<\/span><span style=\"color: #007700\">-&gt;<\/span><span style=\"color: #0000BB\">query<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #DD0000\">\"SELECT&nbsp;*&nbsp;FROM&nbsp;locations\"<\/span><span style=\"color: #007700\">);<br \/><br \/><\/span><span style=\"color: #FF8000\">\/\/&nbsp;Fetch&nbsp;the&nbsp;info-window&nbsp;data&nbsp;from&nbsp;the&nbsp;database<br \/><\/span><span style=\"color: #0000BB\">$result2&nbsp;<\/span><span style=\"color: #007700\">=&nbsp;<\/span><span style=\"color: #0000BB\">$db<\/span><span style=\"color: #007700\">-&gt;<\/span><span style=\"color: #0000BB\">query<\/span><span style=\"color: #007700\">(<\/span><span style=\"color: #DD0000\">\"SELECT&nbsp;*&nbsp;FROM&nbsp;locations\"<\/span><span style=\"color: #007700\">);<br \/><\/span><span style=\"color: #0000BB\">?&gt;<\/span><\/pre>\n<h2>Add Multiple Markers with Info Windows<\/h2>\n<p>Load the Google Map JavaScript API and specify an API key in the key parameter.<\/p>\n<pre>&lt;<span style=\"color:#bf4f24\">script<\/span> <span style=\"color:#bf4f24\">src<\/span>=<span style=\"color:#0b6125\">\"https:\/\/maps.googleapis.com\/maps\/api\/js?key=<span style=\"border:2px solid #FB4314; font-weight:bold; border-style:dashed;\">Your_API_KEY<\/span>\"<\/span>&gt;&lt;\/<span style=\"color:#bf4f24\">script<\/span>&gt;<\/pre>\n<p>The following JavaScript code adds multiple markers with info windows to Google map from the MySQL database in PHP.<\/p>\n<ul class=\"bullet_disk_list\">\n<li>The initMap() is a JavaScript function that handles Google Map creation functionality.<\/li>\n<li>Initialize Google Maps object to attach the map to the HTML element.<\/li>\n<li>Retrieve latitude &#038; longitude from the database and generate position array for multiple markers (<code>markers<\/code>).<\/li>\n<li>Retrieve location info from the database and generate array for info windows content (<code>infoWindowContent<\/code>).<\/li>\n<li>Add multiple markers with dynamic locations to Google Map.<\/li>\n<li>Add info window with dynamic content to the markers.<\/li>\n<li>Set zoom level of the Google Map.<\/li>\n<li>Load initialize the initMap() function.<\/li>\n<\/ul>\n<pre><span style=\"color: rgb(186, 98, 54);\">&lt;<span style=\"color: rgb(186, 98, 54);\">script<\/span>&gt;<\/span>\r\n<span class=\"hljs-function\"><span style=\"color: rgb(184, 84, 212);\">function<\/span> <span class=\"hljs-title\" style=\"color: rgb(102, 132, 225);\">initMap<\/span>(<span style=\"color: rgb(182, 86, 17);\"><\/span>) <\/span>{\r\n    <span style=\"color: rgb(184, 84, 212);\">var<\/span> map;\r\n    <span style=\"color: rgb(184, 84, 212);\">var<\/span> bounds = <span style=\"color: rgb(184, 84, 212);\">new<\/span> google.maps.LatLngBounds();\r\n    <span style=\"color: rgb(184, 84, 212);\">var<\/span> mapOptions = {\r\n        mapTypeId: <span style=\"color: rgb(96, 172, 57);\">'roadmap'<\/span>\r\n    };\r\n                    \r\n    <span style=\"color: rgb(125, 122, 104);\">\/\/ Display a map on the web page<\/span>\r\n    map = <span style=\"color: rgb(184, 84, 212);\">new<\/span> google.maps.Map(<span style=\"color: rgb(182, 86, 17);\">document<\/span>.getElementById(<span style=\"color: rgb(96, 172, 57);\">\"mapCanvas\"<\/span>), mapOptions);\r\n    map.setTilt(<span style=\"color: rgb(182, 86, 17);\">50<\/span>);\r\n        \r\n    <span style=\"color: rgb(125, 122, 104);\">\/\/ Multiple markers location, latitude, and longitude<\/span>\r\n    <span style=\"color: rgb(184, 84, 212);\">var<\/span> markers = [\r\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style=\"color: #0000BB\">&lt;?php&nbsp;<\/span><span style=\"color: #007700\">if(<\/span><span style=\"color: #0000BB\">$result<\/span><span style=\"color: #007700\">-&gt;<\/span><span style=\"color: #0000BB\">num_rows&nbsp;<\/span><span style=\"color: #007700\">&gt;&nbsp;<\/span><span style=\"color: #0000BB\">0<\/span><span style=\"color: #007700\">){<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(<\/span><span style=\"color: #0000BB\">$row&nbsp;<\/span><span style=\"color: #007700\">=&nbsp;<\/span><span style=\"color: #0000BB\">$result<\/span><span style=\"color: #007700\">-&gt;<\/span><span style=\"color: #0000BB\">fetch_assoc<\/span><span style=\"color: #007700\">()){<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;<\/span><span style=\"color: #DD0000\">'[\"'<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$row<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">'name'<\/span><span style=\"color: #007700\">].<\/span><span style=\"color: #DD0000\">'\",&nbsp;'<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$row<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">'latitude'<\/span><span style=\"color: #007700\">].<\/span><span style=\"color: #DD0000\">',&nbsp;'<\/span><span style=\"color: #007700\">.<\/span><span style=\"color: #0000BB\">$row<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">'longitude'<\/span><span style=\"color: #007700\">].<\/span><span style=\"color: #DD0000\">'],'<\/span><span style=\"color: #007700\">;<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"color: #0000BB\">?&gt;<\/span>\r\n    ];\r\n                        \r\n    <span class=\"hljs-comment\" style=\"color: rgb(125, 122, 104);\">\/\/ Info window content<\/span>\r\n    <span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">var<\/span> infoWindowContent = [\r\n        <span class=\"xml\"><span style=\"color: #0000BB\">&lt;?php&nbsp;<\/span><span style=\"color: #007700\">if(<\/span><span style=\"color: #0000BB\">$result2<\/span><span style=\"color: #007700\">-&gt;<\/span><span style=\"color: #0000BB\">num_rows&nbsp;<\/span><span style=\"color: #007700\">&gt;&nbsp;<\/span><span style=\"color: #0000BB\">0<\/span><span style=\"color: #007700\">){<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(<\/span><span style=\"color: #0000BB\">$row&nbsp;<\/span><span style=\"color: #007700\">=&nbsp;<\/span><span style=\"color: #0000BB\">$result2<\/span><span style=\"color: #007700\">-&gt;<\/span><span style=\"color: #0000BB\">fetch_assoc<\/span><span style=\"color: #007700\">()){&nbsp;<\/span><span style=\"color: #0000BB\">?&gt;<\/span>\r\n                ['<span class=\"hljs-tag\" style=\"color: rgb(215, 55, 55);\">&lt;<span class=\"hljs-name\" style=\"color: rgb(215, 55, 55);\">div<\/span> <span class=\"hljs-attr\">class<\/span>=<span class=\"hljs-string\" style=\"color: rgb(96, 172, 57);\">\"info_content\"<\/span>&gt;<\/span>' +\r\n                '<span class=\"hljs-tag\" style=\"color: rgb(215, 55, 55);\">&lt;<span class=\"hljs-name\" style=\"color: rgb(215, 55, 55);\">h3<\/span>&gt;<\/span><span style=\"color: #0000BB\">&lt;?php&nbsp;<\/span><span style=\"color: #007700\">echo&nbsp;<\/span><span style=\"color: #0000BB\">$row<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">'name'<\/span><span style=\"color: #007700\">];&nbsp;<\/span><span style=\"color: #0000BB\">?&gt;<\/span><span class=\"hljs-tag\" style=\"color: rgb(215, 55, 55);\">&lt;\/<span class=\"hljs-name\" style=\"color: rgb(215, 55, 55);\">h3<\/span>&gt;<\/span>' +\r\n                '<span class=\"hljs-tag\" style=\"color: rgb(215, 55, 55);\">&lt;<span class=\"hljs-name\" style=\"color: rgb(215, 55, 55);\">p<\/span>&gt;<\/span><span style=\"color: #0000BB\">&lt;?php&nbsp;<\/span><span style=\"color: #007700\">echo&nbsp;<\/span><span style=\"color: #0000BB\">$row<\/span><span style=\"color: #007700\">[<\/span><span style=\"color: #DD0000\">'info'<\/span><span style=\"color: #007700\">];&nbsp;<\/span><span style=\"color: #0000BB\">?&gt;<\/span><span class=\"hljs-tag\" style=\"color: rgb(215, 55, 55);\">&lt;\/<span class=\"hljs-name\" style=\"color: rgb(215, 55, 55);\">p<\/span>&gt;<\/span>' + '<span class=\"hljs-tag\" style=\"color: rgb(215, 55, 55);\">&lt;\/<span class=\"hljs-name\" style=\"color: rgb(215, 55, 55);\">div<\/span>&gt;<\/span>'],\r\n        <span style=\"color: #0000BB\">&lt;?php&nbsp;<\/span><span style=\"color: #007700\">}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<\/span><span style=\"color: #0000BB\">?&gt;<\/span>\r\n    ];<\/span>\r\n        \r\n    <span class=\"hljs-comment\" style=\"color: rgb(125, 122, 104);\">\/\/ Add multiple markers to map<\/span>\r\n    <span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">var<\/span> infoWindow = <span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">new<\/span> google.maps.InfoWindow(), marker, i;\r\n    \r\n    <span class=\"hljs-comment\" style=\"color: rgb(125, 122, 104);\">\/\/ Place each marker on the map  <\/span>\r\n    <span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">for<\/span>( i = <span class=\"hljs-number\" style=\"color: rgb(182, 86, 17);\">0<\/span>; i &lt; markers.length; i++ ) {\r\n        <span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">var<\/span> position = <span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">new<\/span> google.maps.LatLng(markers[i][<span class=\"hljs-number\" style=\"color: rgb(182, 86, 17);\">1<\/span>], markers[i][<span class=\"hljs-number\" style=\"color: rgb(182, 86, 17);\">2<\/span>]);\r\n        bounds.extend(position);\r\n        marker = <span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">new<\/span> google.maps.Marker({\r\n            position: position,\r\n            map: map,\r\n            title: markers[i][<span class=\"hljs-number\" style=\"color: rgb(182, 86, 17);\">0<\/span>]\r\n        });\r\n        \r\n        <span class=\"hljs-comment\" style=\"color: rgb(125, 122, 104);\">\/\/ Add info window to marker    <\/span>\r\n        google.maps.event.addListener(marker, <span class=\"hljs-string\" style=\"color: rgb(96, 172, 57);\">'click'<\/span>, (<span class=\"hljs-function\"><span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">function<\/span>(<span class=\"hljs-params\" style=\"color: rgb(182, 86, 17);\">marker, i<\/span>) <\/span>{\r\n            <span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">return<\/span> <span class=\"hljs-function\"><span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">function<\/span>(<span class=\"hljs-params\" style=\"color: rgb(182, 86, 17);\"><\/span>) <\/span>{\r\n                infoWindow.setContent(infoWindowContent[i][<span class=\"hljs-number\" style=\"color: rgb(182, 86, 17);\">0<\/span>]);\r\n                infoWindow.open(map, marker);\r\n            }\r\n        })(marker, i));\r\n\r\n        <span class=\"hljs-comment\" style=\"color: rgb(125, 122, 104);\">\/\/ Center the map to fit all markers on the screen<\/span>\r\n        map.fitBounds(bounds);\r\n    }\r\n\r\n    <span class=\"hljs-comment\" style=\"color: rgb(125, 122, 104);\">\/\/ Set zoom level<\/span>\r\n    <span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">var<\/span> boundsListener = google.maps.event.addListener((map), <span class=\"hljs-string\" style=\"color: rgb(96, 172, 57);\">'bounds_changed'<\/span>, <span class=\"hljs-function\"><span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">function<\/span>(<span class=\"hljs-params\" style=\"color: rgb(182, 86, 17);\">event<\/span>) <\/span>{\r\n        <span class=\"hljs-keyword\" style=\"color: rgb(184, 84, 212);\">this<\/span>.setZoom(<span class=\"hljs-number\" style=\"color: rgb(182, 86, 17);\">14<\/span>);\r\n        google.maps.event.removeListener(boundsListener);\r\n    });\r\n    \r\n}\r\n\r\n<span class=\"hljs-comment\" style=\"color: rgb(125, 122, 104);\">\/\/ Load initialize function<\/span>\r\ngoogle.maps.event.addDomListener(<span class=\"hljs-built_in\" style=\"color: rgb(182, 86, 17);\">window<\/span>, <span class=\"hljs-string\" style=\"color: rgb(96, 172, 57);\">'load'<\/span>, initMap);\r\n<span class=\"hljs-tag\" style=\"color: rgb(186, 98, 54);\">&lt;\/<span class=\"hljs-name\" style=\"color: rgb(186, 98, 54);\">script<\/span>&gt;<\/span>\r\n<\/pre>\n<h2>Embed Google Map<\/h2>\n<p>Define an HTML element to display the Google Map with multiple markers and Info WIndows on the web page. You need to specify the element ID (<code>mapCanvas<\/code>) in Google Map object.<\/p>\n<pre><span style=\"color: rgb(186, 98, 54);\">&lt;<span style=\"color: rgb(186, 98, 54);\">div<\/span> <span>id<\/span>=<span style=\"color: rgb(125, 151, 38);\">\"mapCanvas\"<\/span>&gt;<\/span><span style=\"color: rgb(186, 98, 54);\">&lt;\/<span style=\"color: rgb(186, 98, 54);\">div<\/span>&gt;<\/span><\/pre>\n<h2>CSS Code<\/h2>\n<p>The following CSS sets the size of the Google map container.<\/p>\n<pre><span class=\"hljs-selector-id\" style=\"color: green;\">#mapCanvas<\/span> {\r\n    <span class=\"hljs-attribute\" style=\"color: maroon;\">width<\/span>: <span style=\"color: navy;\">100%<\/span>;\r\n    <span class=\"hljs-attribute\" style=\"color: maroon;\">height<\/span>: <span style=\"color: navy;\">650px<\/span>;\r\n}<\/pre>\n<p class=\"seeAlso\"><span><\/span><a href=\"https:\/\/www.codexworld.com\/google-map-move-marker-smoothly-javascript-api\/\">Move Marker Smoothly on Google Map using JavaScript<\/a><\/span><\/p>\n<h2>Conclusion<\/h2>\n<p>Google Map with the marker is very useful when you want to display a location on a Map in the web page. The example code provides a simple way to embed Google Map on the website with multiple markers with info windows. You can generate dynamic markers with dynamic info window content and mark locations to the Google map from the database.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Google Map provides an easy way to mark a location on the map and embed it on the web page. A marker points out a location on the map and an InfoWindow display content in <\/p>\n","protected":false},"author":1,"featured_media":3598,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[109],"tags":[35,66,14],"class_list":["post-3590","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-googlemap","tag-google-maps-api","tag-javascript","tag-php","cat-109-id","has_thumb"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Adding Multiple Markers with Info Windows to Google Maps Dynamically from Database - CodexWorld<\/title>\n<meta name=\"description\" content=\"Display multiple markers with info window to Google Maps dynamically from database using PHP - Embed Google Map with dynamic markers and InfoWindow using PHP and MySQL.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Adding Multiple Markers with Info Windows to Google Maps Dynamically from Database - CodexWorld\" \/>\n<meta property=\"og:description\" content=\"Display multiple markers with info window to Google Maps dynamically from database using PHP - Embed Google Map with dynamic markers and InfoWindow using PHP and MySQL.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/\" \/>\n<meta property=\"og:site_name\" content=\"CodexWorld\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/codexworld\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/codexworld\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-13T06:12:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-13T06:19:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.codexworld.com\/wp-content\/uploads\/2018\/11\/add-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1366\" \/>\n\t<meta property=\"og:image:height\" content=\"768\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"CodexWorld\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@codexworldblog\" \/>\n<meta name=\"twitter:site\" content=\"@codexworldweb\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"CodexWorld\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/\"},\"author\":{\"name\":\"CodexWorld\",\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/#\\\/schema\\\/person\\\/9da51d8fa3cdefeb5ec9c69136d4baf0\"},\"headline\":\"Adding Multiple Markers with Info Windows to Google Maps Dynamically from Database\",\"datePublished\":\"2018-11-13T06:12:40+00:00\",\"dateModified\":\"2018-11-13T06:19:44+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/\"},\"wordCount\":606,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codexworld.com\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/add-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld.png\",\"keywords\":[\"Google Maps API\",\"JavaScript\",\"PHP\"],\"articleSection\":[\"GoogleMap\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/\",\"url\":\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/\",\"name\":\"Adding Multiple Markers with Info Windows to Google Maps Dynamically from Database - CodexWorld\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.codexworld.com\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/add-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld.png\",\"datePublished\":\"2018-11-13T06:12:40+00:00\",\"dateModified\":\"2018-11-13T06:19:44+00:00\",\"description\":\"Display multiple markers with info window to Google Maps dynamically from database using PHP - Embed Google Map with dynamic markers and InfoWindow using PHP and MySQL.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.codexworld.com\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/add-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld.png\",\"contentUrl\":\"https:\\\/\\\/www.codexworld.com\\\/wp-content\\\/uploads\\\/2018\\\/11\\\/add-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld.png\",\"width\":1366,\"height\":768,\"caption\":\"rom Databaseadd-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.codexworld.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Adding Multiple Markers with Info Windows to Google Maps Dynamically from Database\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/#website\",\"url\":\"https:\\\/\\\/www.codexworld.com\\\/\",\"name\":\"CodexWorld\",\"description\":\"Web &amp; Mobile App Development Company\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.codexworld.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/#organization\",\"name\":\"CodexWorld\",\"url\":\"https:\\\/\\\/www.codexworld.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.codexworld.com\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/codexworld-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.codexworld.com\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/codexworld-logo.png\",\"width\":200,\"height\":19,\"caption\":\"CodexWorld\"},\"image\":{\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/codexworld\",\"https:\\\/\\\/x.com\\\/codexworldweb\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/codexworld\",\"https:\\\/\\\/www.youtube.com\\\/codexworld\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.codexworld.com\\\/#\\\/schema\\\/person\\\/9da51d8fa3cdefeb5ec9c69136d4baf0\",\"name\":\"CodexWorld\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cf4999db3b409de559f80677afa01729bb2eeda19be273c254e8b2c22729e386?s=96&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cf4999db3b409de559f80677afa01729bb2eeda19be273c254e8b2c22729e386?s=96&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/cf4999db3b409de559f80677afa01729bb2eeda19be273c254e8b2c22729e386?s=96&r=g\",\"caption\":\"CodexWorld\"},\"description\":\"CodexWorld is a programming blog, one-stop destination for web professionals \u2014 developers, programmers, freelancers, and site owners.\",\"sameAs\":[\"http:\\\/\\\/www.codexworld.com\",\"https:\\\/\\\/www.facebook.com\\\/codexworld\",\"https:\\\/\\\/x.com\\\/codexworldblog\"],\"url\":\"https:\\\/\\\/www.codexworld.com\\\/author\\\/nitya192265\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Adding Multiple Markers with Info Windows to Google Maps Dynamically from Database - CodexWorld","description":"Display multiple markers with info window to Google Maps dynamically from database using PHP - Embed Google Map with dynamic markers and InfoWindow using PHP and MySQL.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/","og_locale":"en_US","og_type":"article","og_title":"Adding Multiple Markers with Info Windows to Google Maps Dynamically from Database - CodexWorld","og_description":"Display multiple markers with info window to Google Maps dynamically from database using PHP - Embed Google Map with dynamic markers and InfoWindow using PHP and MySQL.","og_url":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/","og_site_name":"CodexWorld","article_publisher":"https:\/\/www.facebook.com\/codexworld","article_author":"https:\/\/www.facebook.com\/codexworld","article_published_time":"2018-11-13T06:12:40+00:00","article_modified_time":"2018-11-13T06:19:44+00:00","og_image":[{"width":1366,"height":768,"url":"https:\/\/www.codexworld.com\/wp-content\/uploads\/2018\/11\/add-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld.png","type":"image\/png"}],"author":"CodexWorld","twitter_card":"summary_large_image","twitter_creator":"@codexworldblog","twitter_site":"@codexworldweb","twitter_misc":{"Written by":"CodexWorld","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/#article","isPartOf":{"@id":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/"},"author":{"name":"CodexWorld","@id":"https:\/\/www.codexworld.com\/#\/schema\/person\/9da51d8fa3cdefeb5ec9c69136d4baf0"},"headline":"Adding Multiple Markers with Info Windows to Google Maps Dynamically from Database","datePublished":"2018-11-13T06:12:40+00:00","dateModified":"2018-11-13T06:19:44+00:00","mainEntityOfPage":{"@id":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/"},"wordCount":606,"commentCount":1,"publisher":{"@id":"https:\/\/www.codexworld.com\/#organization"},"image":{"@id":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codexworld.com\/wp-content\/uploads\/2018\/11\/add-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld.png","keywords":["Google Maps API","JavaScript","PHP"],"articleSection":["GoogleMap"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/","url":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/","name":"Adding Multiple Markers with Info Windows to Google Maps Dynamically from Database - CodexWorld","isPartOf":{"@id":"https:\/\/www.codexworld.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/#primaryimage"},"image":{"@id":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/#primaryimage"},"thumbnailUrl":"https:\/\/www.codexworld.com\/wp-content\/uploads\/2018\/11\/add-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld.png","datePublished":"2018-11-13T06:12:40+00:00","dateModified":"2018-11-13T06:19:44+00:00","description":"Display multiple markers with info window to Google Maps dynamically from database using PHP - Embed Google Map with dynamic markers and InfoWindow using PHP and MySQL.","breadcrumb":{"@id":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/#primaryimage","url":"https:\/\/www.codexworld.com\/wp-content\/uploads\/2018\/11\/add-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld.png","contentUrl":"https:\/\/www.codexworld.com\/wp-content\/uploads\/2018\/11\/add-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld.png","width":1366,"height":768,"caption":"rom Databaseadd-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld"},{"@type":"BreadcrumbList","@id":"https:\/\/www.codexworld.com\/adding-multiple-markers-with-info-windows-to-google-maps-dynamically-from-database\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.codexworld.com\/"},{"@type":"ListItem","position":2,"name":"Adding Multiple Markers with Info Windows to Google Maps Dynamically from Database"}]},{"@type":"WebSite","@id":"https:\/\/www.codexworld.com\/#website","url":"https:\/\/www.codexworld.com\/","name":"CodexWorld","description":"Web &amp; Mobile App Development Company","publisher":{"@id":"https:\/\/www.codexworld.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.codexworld.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.codexworld.com\/#organization","name":"CodexWorld","url":"https:\/\/www.codexworld.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.codexworld.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.codexworld.com\/wp-content\/uploads\/2014\/09\/codexworld-logo.png","contentUrl":"https:\/\/www.codexworld.com\/wp-content\/uploads\/2014\/09\/codexworld-logo.png","width":200,"height":19,"caption":"CodexWorld"},"image":{"@id":"https:\/\/www.codexworld.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/codexworld","https:\/\/x.com\/codexworldweb","https:\/\/www.linkedin.com\/company\/codexworld","https:\/\/www.youtube.com\/codexworld"]},{"@type":"Person","@id":"https:\/\/www.codexworld.com\/#\/schema\/person\/9da51d8fa3cdefeb5ec9c69136d4baf0","name":"CodexWorld","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/cf4999db3b409de559f80677afa01729bb2eeda19be273c254e8b2c22729e386?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/cf4999db3b409de559f80677afa01729bb2eeda19be273c254e8b2c22729e386?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/cf4999db3b409de559f80677afa01729bb2eeda19be273c254e8b2c22729e386?s=96&r=g","caption":"CodexWorld"},"description":"CodexWorld is a programming blog, one-stop destination for web professionals \u2014 developers, programmers, freelancers, and site owners.","sameAs":["http:\/\/www.codexworld.com","https:\/\/www.facebook.com\/codexworld","https:\/\/x.com\/codexworldblog"],"url":"https:\/\/www.codexworld.com\/author\/nitya192265\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/www.codexworld.com\/wp-content\/uploads\/2018\/11\/add-multiple-markers-with-info-windows-to-google-maps-from-database-php-mysql-codexworld.png","jetpack_shortlink":"https:\/\/wp.me\/p6bxIh-VU","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.codexworld.com\/wp-json\/wp\/v2\/posts\/3590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.codexworld.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.codexworld.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.codexworld.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.codexworld.com\/wp-json\/wp\/v2\/comments?post=3590"}],"version-history":[{"count":6,"href":"https:\/\/www.codexworld.com\/wp-json\/wp\/v2\/posts\/3590\/revisions"}],"predecessor-version":[{"id":3596,"href":"https:\/\/www.codexworld.com\/wp-json\/wp\/v2\/posts\/3590\/revisions\/3596"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.codexworld.com\/wp-json\/wp\/v2\/media\/3598"}],"wp:attachment":[{"href":"https:\/\/www.codexworld.com\/wp-json\/wp\/v2\/media?parent=3590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.codexworld.com\/wp-json\/wp\/v2\/categories?post=3590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.codexworld.com\/wp-json\/wp\/v2\/tags?post=3590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}