/ / Google मानचित्र पर एकाधिक मार्कर प्लॉटिंग - जावास्क्रिप्ट, PHP, जेसन, गूगल-मैप्स, google-maps-api-3

Google मानचित्र पर एकाधिक मार्कर प्लॉट करना - जावास्क्रिप्ट, PHP, जेसन, google-maps, google-maps-api-3

मेरे पास एक php फ़ाइल है जो इस जेसन डेटा को आउटपुट करती है

[{"lat":"5.92687670","lng":"116.10072270"},{"lat":"6.23331022","lng":"116.42924500"},{"lat":"47.62456131","lng":"-122.35644531"},{"lat":"47.60636520","lng":"-122.33765411"},{"lat":"47.61282349","lng":"-122.34567261"},{"lat":"47.60596085","lng":"-122.34036255"},{"lat":"47.61397552","lng":"-122.34546661"},{"lat":"47.61721420","lng":"-122.32658386"}]

यह उपरोक्त परिणाम के लिए PHP कोड है (genjson.php):

<?php

require("connect.php");

$link = mysqli_connect("localhost", "$username", "$password", "$database");

if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}

mysqli_select_db($link,"senangbah");

$var = array();
$sql = "SELECT `lat`, `lng` FROM markers";

$result = mysqli_query($link, $sql);

while($obj = mysqli_fetch_object($result)) {
$var[] = $obj;
}

header("Content-Type: application/json");
echo json_encode($var);
?>

और यह मानचित्र के लिए जावास्क्रिप्ट है

function initMap() {
var latlng = new google.maps.LatLng(5.5117338, 117.0463637);
var myOptions = {
zoom: 3,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP,
mapTypeControl: false
};
var map = new google.maps.Map(document.getElementById("map"),myOptions);

$.getJSON("genjson.php", function(markers) {
for (i = 0; i < markers.length; i++) {
marker = new google.maps.Marker({
position: new google.maps.LatLng(markers[i][0], markers[i][1]),
map: map
});

}
});

}

नक्शा लोड ठीक है, लेकिन कोई मार्कर दिखाए जाते हैं? मैं किस भाग में गलत कर रहा हूं? tq

उत्तर:

उत्तर № 1 के लिए 1

त्रुटि इस कथन में है:

position: new google.maps.LatLng(markers[i][0], markers[i][1]),

प्रत्येक के बाद से marker[n] एक वस्तु है, एक सरणी नहीं है, आपको इसके बजाय उपयोग करना होगा:

position: new google.maps.LatLng(markers[i].lat, markers[i].lng),

बीटीडब्ल्यू नोट करें कि आप लिखना बेहतर है var marker = ... बस के बजाय marker = ... प्रदूषण वैश्विक अंतरिक्ष से बचने के लिए।