Ich versuche, Markierungen auf Google Maps anzuzeigen, aber einige Markierungen werden angezeigt und andere nicht. Ich habe es mit verschiedenen Browsern wie Google Chrome und Firefox versucht, aber es hat nicht geholfen.Nicht alle Markierungen werden auf Google Maps angezeigt.
Hier ist mein JavaScript-Code.
<script type="text/javascript">
//<![CDATA[
var customIcons = {
icons: {
default:{
normal: 'http://labs.google.com/ridefinder/images/mm_20_blue.png',
selected: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'
}
}
};
function load() {
var map = new google.maps.Map(document.getElementById("map"), {
center: new google.maps.LatLng(40.8833, 260.0167),
zoom: 5,
mapTypeId: 'roadmap'
});
var infoWindow = new google.maps.InfoWindow;
// Change this depending on the name of your PHP file
downloadUrl("ip_maps.php", function(data) {
var xml = data.responseXML;
var markers = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markers.length; i++) {
var ip_address = markers[i].getAttribute("ip_address");
var city_location = markers[i].getAttribute("city_location");
var isp = markers[i].getAttribute("isp");
var point = new google.maps.LatLng(
parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
var html = "<b>" + ip_address + "</b>" +",\n" + city_location +",\n" + isp;
var icon = customIcons[isp] || {};
var marker = new google.maps.Marker({
map: map,
position: point,
icon: icon.icon,
shadow: icon.shadow
});
bindInfoWindow(marker, map, infoWindow, html);
}
});
}
function bindInfoWindow(marker, map, infoWindow, html) {
google.maps.event.addListener(marker, 'click', function() {
infoWindow.setContent(html);
infoWindow.open(map, marker);
});
}
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request,request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
function doNothing() {}
//]]>
</script>
habe ich diesen Code von hier https://developers.google.com/maps/articles/phpsqlajax_v3. Nachdem ich verschiedene Threads durchlaufen hatte, erfuhr ich, dass dies wegen over_query_limit passieren konnte. Diese
ist, wie meine PostgreSQL-Datenbank sieht
id | ip_address | city_location | lat | lng | isp
1 | 74.125.0.0 | Mountain View | 37.4192 | -122.0574 | Google
2 | 23.192.0.0 | Cambridge | 42.3626 | -71.0843 | Akamai Technologies
3 | 128.206.0.0 | Columbia | 38.9033 | -92.1022 | University of Missouri-Columbia
4 | 207.160.0.0 | Columbia | 38.8817 | -92.402 | University of Missouri - dba the Missouri Research
5 | 96.6.0.0 | Amsterdam | 52.35 | 4.9167 | Akamai Technologies
6 | 93.0.0.0 | Charleville-mézières | 49.7667 | 4.7167 | SFR
7 | 89.0.0.0 | Aachen | 50.7884 | 6.1044 | NetCologne GmbH
8 | 72.246.0.0 | Boston | 42.366 | -71.123 | Akamai Technologies
9 | 69.171.224.0 | Menlo Park | 37.459 | -122.1781 | Facebook
10 | 68.80.0.0 | New Castle | 39.6387 | -75.6195 | Comcast Cable
11 | 54.241.191.192 | San Jose | 37.3394 | -121.895 | Amazon Technologies
12 | 54.208.0.0 | Ashburn | 39.0335 | -77.4838 | Amazon Technologies
13 | 54.160.0.0 | Ashburn | 39.0335 | -77.4838 | Amazon
14 | 50.16.0.0 | Ashburn | 39.0335 | -77.4838 | Amazon.com
15 | 31.0.0.0 | Unknown | 52.2333 | 21.0167 | Polkomtel Sp. z o.o.
16 | 23.234.16.0 | Rowland Heights | 33.9782 | -117.904 | Defender cloud international llc
17 | 23.0.0.0 | Cambridge | 42.3626 | -71.0843 | Akamai Technologies
18 | 216.115.96.0 | Sunnyvale | 37.4249 | -122.0074 | Yahoo!
19 | 205.185.206.128 | Chicago | 41.8471 | -87.6248 | Highwinds Network Group
20 | 198.71.44.0 | Ann Arbor | 42.2734 | -83.7133 | Internet2
21 | 198.209.0.0 | Columbia | 38.8817 | -92.402 | University of Missouri - dba the Missouri Research
22 | 187.0.0.0 | Nova Prata | -28.7833 | -51.6 | Adylnet Acesso A internet Ltda
23 | 184.169.128.0 | San Jose | 37.3394 | -121.895 | Amazon.com
24 | 173.192.0.0 | Dallas | 32.7831 | -96.8067 | SoftLayer Technologies
25 | 157.60.0.0 | Redmond | 47.6801 | -122.1206 | Microsoft Corporation
26 | 157.56.0.0 | Redmond | 47.6801 | -122.1206 | Microsoft bingbot
27 | 157.54.0.0 | Redmond | 47.6801 | -122.1206 | Microsoft Corporation
28 | 129.237.0.0 | Lawrence | 38.9525 | -95.2756 | University of Kansas
Die Markierungen, die angezeigt werden, sind id = 1,3,4,5,6,7,9,10,14,15,16,17, 18,, 19, 20, 22, 23, 24, 27, 28 und die Marker, die nicht angezeigt werden, sind id = 2,8,11,12,13,21,25,26. Hier
ist die .xml-Datei
<markers>
<marker ip_address="74.125.0.0" city_location="Mountain View" lat="37.4192" lng="-122.0574" isp="Google"/>
<marker ip_address="23.192.0.0" city_location="Cambridge" lat="42.3626" lng="-71.0843" isp="Akamai Technologies"/>
<marker ip_address="128.206.0.0" city_location="Columbia" lat="38.9033" lng="-92.1022" isp="University of Missouri-Columbia"/>
<marker ip_address="207.160.0.0" city_location="Columbia" lat="38.8817" lng="-92.402" isp="University of Missouri - dba the Missouri Research"/>
<marker ip_address="96.6.0.0" city_location="Amsterdam" lat="52.35" lng="4.9167" isp="Akamai Technologies"/>
<marker ip_address="93.0.0.0" city_location="Charleville-mézières" lat="49.7667" lng="4.7167" isp="SFR"/>
<marker ip_address="89.0.0.0" city_location="Aachen" lat="50.7884" lng="6.1044" isp="NetCologne GmbH"/>
<marker ip_address="72.246.0.0" city_location="Boston" lat="42.366" lng="-71.123" isp="Akamai Technologies"/>
<marker ip_address="69.171.224.0" city_location="Menlo Park" lat="37.459" lng="-122.1781" isp="Facebook"/>
<marker ip_address="68.80.0.0" city_location="New Castle" lat="39.6387" lng="-75.6195" isp="Comcast Cable"/>
<marker ip_address="54.241.191.192" city_location="San Jose" lat="37.3394" lng="-121.895" isp="Amazon Technologies"/>
<marker ip_address="54.208.0.0" city_location="Ashburn" lat="39.0335" lng="-77.4838" isp="Amazon Technologies"/>
<marker ip_address="54.160.0.0" city_location="Ashburn" lat="39.0335" lng="-77.4838" isp="Amazon"/>
<marker ip_address="50.16.0.0" city_location="Ashburn" lat="39.0335" lng="-77.4838" isp="Amazon.com"/>
<marker ip_address="31.0.0.0" city_location=" Unknown" lat="52.2333" lng="21.0167" isp="Polkomtel Sp. z o.o."/>
<marker ip_address="23.234.16.0" city_location="Rowland Heights" lat="33.9782" lng="-117.904" isp="Defender cloud international llc"/>
<marker ip_address="23.0.0.0" city_location="Cambridge" lat="42.3626" lng="-71.0843" isp="Akamai Technologies"/>
<marker ip_address="216.115.96.0" city_location="Sunnyvale" lat="37.4249" lng="-122.0074" isp="Yahoo!"/>
<marker ip_address="205.185.206.128" city_location="Chicago" lat="41.8471" lng="-87.6248" isp="Highwinds Network Group"/>
<marker ip_address="198.71.44.0" city_location="Ann Arbor" lat="42.2734" lng="-83.7133" isp="Internet2"/>
<marker ip_address="198.209.0.0" city_location="Columbia" lat="38.8817" lng="-92.402" isp="University of Missouri - dba the Missouri Research"/>
<marker ip_address="187.0.0.0" city_location="Nova Prata" lat="-28.7833" lng="-51.6" isp="Adylnet Acesso A internet Ltda"/>
<marker ip_address="184.169.128.0" city_location="San Jose" lat="37.3394" lng="-121.895" isp="Amazon.com"/>
<marker ip_address="173.192.0.0" city_location="Dallas" lat="32.7831" lng="-96.8067" isp="SoftLayer Technologies"/>
<marker ip_address="157.60.0.0" city_location="Redmond" lat="47.6801" lng="-122.1206" isp="Microsoft Corporation"/>
<marker ip_address="157.56.0.0" city_location="Redmond" lat="47.6801" lng="-122.1206" isp="Microsoft bingbot"/>
<marker ip_address="157.54.0.0" city_location="Redmond" lat="47.6801" lng="-122.1206" isp="Microsoft Corporation"/>
<marker ip_address="129.237.0.0" city_location="Lawrence" lat="38.9525" lng="-95.2756" isp="University of Kansas"/>
</markers>
Hier ist meine Php-Datei
<?php
ini_set('display_errors', 1);
//phppsql_genxml.php
function parseToXML($htmlStr)
{
$xmlStr=str_replace('<','<',$htmlStr);
$xmlStr=str_replace('>','>',$xmlStr);
$xmlStr=str_replace('"','"',$xmlStr);
$xmlStr=str_replace("'",''',$xmlStr);
$xmlStr=str_replace("&",'&',$xmlStr);
return $xmlStr;
}
$dbh = pg_connect("host=localhost port=5432 dbname=ip_database user=postgres password=something");
if (!$dbh) {
die("Error in connection: " . pg_last_error());
}
// execute query
$sql = "SELECT ip_address, city_location, lat, lng, isp FROM markers";
$result = pg_query($dbh, $sql);
if (!$result) {
die("Error in SQL query: " . pg_last_error());
}
header("Content-type: text/xml");
// Start XML file, echo parent node
echo '<markers>';
// Iterate through the rows, printing XML nodes for each
while ($row = pg_fetch_array($result)){
// ADD TO XML DOCUMENT NODE
echo '<marker ';
echo 'ip_address="' . parseToXML($row['ip_address']) . '" ';
echo 'city_location="' . parseToXML($row['city_location']) . '" ';
echo 'lat="' . $row['lat'] . '" ';
echo 'lng="' . $row['lng'] . '" ';
echo 'isp="' . parseToXML($row['isp']) . '" ';
echo '/>';
}
// End XML file
echo '</markers>';
?>
Alles funktioniert gut, außer dass von 28 Markern nur 8 angezeigt werden, wie above.How erwähnt können Ich repariere das? Ich möchte eine große Anzahl von Markern anzeigen.
Jede Hilfe mit diesem würde geschätzt werden. Danke
Welche Markierungen dargestellt werden? Welche sind nicht? Geben Sie ein Beispiel [Minimales, vollständiges, getestetes und lesbares Beispiel] (http://stackoverflow.com/help/mcve) an, das Ihr Problem zusammen mit einer Beschreibung der Replikation veranschaulicht. – geocodezip
@geocodezip Entschuldigung dafür. Ich habe die notwendigen Änderungen am Post vorgenommen, indem ich '.php file',' .xml file' und 'my database information' hinzugefügt habe. Ich bin ein Anfänger mit Web-Entwicklung Sachen so wusste nicht, was alle Dinge hinzuzufügen. Alles funktioniert gut, außer 8 Marker von 28 werden nicht angezeigt. Ich habe erwähnt, welche nicht angezeigt werden. –
@geocodezip wenn ich heranzoome, sollte ich in der Lage sein, die überlappenden Markierungen richtig zu sehen? Es muss eine Möglichkeit geben, die überlappenden Markierungen anzuzeigen. Hilfe –