dzieki, ale dalej nie działa jak powinno. Zobacz ratujzycie.eu
- Czasami łapie czasami nie mam na mysli city, że czasami pokazuje niepoprawne wartości.
- Muszę dać name bo potem tworze tabelkę i bez użycia name nie utworzy mi się.
- Po kliknięciu w panstwo i miasto i pokaż, pokazuje mi się mapka ale miasto zmienia sie na wszystkie a nie takie jakie wybrałem.
4 Pod IE w ogóle pokazuje błednie:(
Masz jakiś pomysł jak temu zaradzić poniżej cały skrypt tej strony:
On był przerabiany z csv więc zostaly jeszcze niektóre komentarze.
<?php /* Template Name: Mapa Szablon */ ?>
<?php
get_header();
if(is_page()){
<?php
//inicjowanie zmiennych
$cityToLoc = array();
$result2 = array();
mysql_connect("localhost", "xxx", "xxx") or die(mysql_error());
mysql_select_db("xxx") or die(mysql_error());
//inicjowanie zmiennych
$cityToLoc = array();
$result2 = array();
//wczytywanie z pliku csv
$result=mysql_query("SELECT * FROM date_google_mp");
$db_rows=array();
while($row = mysql_fetch_array($result)){
$db_rows[]=$row;
}
for($i=0;$i<sizeof($db_rows);$i++){
// $line=explode('|',$f[$i]);
$city[] = $db_rows[$i][2];//$line[0]; //wrzucam sobie miasto
$country[] = $db_rows[$i][1];//trim(preg_replace('/\s+/', ' ', $line[6]));
$temp=array();
$temp[1]=$db_rows[$i][3];
$temp[2]=$db_rows[$i][4];
$temp[3]=$db_rows[$i][5];
$temp[4]=$db_rows[$i][6];
$temp[5]=$db_rows[$i][7];
$cityToLoc[$db_rows[$i][2]][] = $temp;
}
$city = array_unique($city, SORT_REGULAR);
//echo '<prE>';print_r($cityToLoc);echo '</pre>';
$result2 = array_values($city);
$city_choice = $_POST['city'];
echo '<form action="#" method="post" class="map-form">';
echo '<select id="countries" name="countries" >';
echo ' <option value="00" >'; _e('<!--:pl-->Wszystkie<!--:--><!--:en-->All<!--:-->'); echo '</option>';
echo ' <option value="Anglia" '.((isset($_POST['countries']) && $_POST['countries']== 'Anglia') ? 'selected="selected"' : '').'>'; _e('<!--:en-->England<!--:--><!--:pl-->Anglia<!--:-->'); echo '</option>';
echo ' <option value="Austria" '.((isset($_POST['countries']) && $_POST['countries']== 'Austria') ? 'selected="selected"' : '').'>'; _e('<!--:en-->Austria<!--:--><!--:pl-->Austria<!--:-->'); echo '</option>';
echo ' <option value="Belgia" '.((isset($_POST['countries']) && $_POST['countries']== 'Belgia') ? 'selected="selected"' : '').'>'; _e('<!--:en-->Belgium<!--:--><!--:pl-->Belgia<!--:-->'); echo '</option>';
echo ' <option value="Grecja" '.((isset($_POST['countries']) && $_POST['countries']== 'Grecja') ? 'selected="selected"' : '').'>'; _e('<!--:en-->Grecce<!--:--><!--:pl-->Grecja<!--:-->'); echo '</option>';
echo ' <option value="Niemcy" '.((isset($_POST['countries']) && $_POST['countries']== 'Niemcy') ? 'selected="selected"' : '').'>'; _e('<!--:en-->Germany<!--:--><!--:pl-->Niemcy<!--:-->'); echo '</option>';
echo ' <option value="Polska" '.((isset($_POST['countries']) && $_POST['countries']== 'Polska') ? 'selected="selected"' : '').'>'; _e('<!--:en-->Poland<!--:--><!--:pl-->Polska<!--:-->'); echo '</option>';
echo ' <option value="Serbia" '.((isset($_POST['countries']) && $_POST['countries']== 'Serbia') ? 'selected="selected"' : '').'>'; _e('<!--:en-->Serbjie<!--:--><!--:pl-->Serbia<!--:-->'); echo '</option>';
echo ' <option value="Wegry" '.((isset($_POST['countries']) && $_POST['countries']== 'Wegry') ? 'selected="selected"' : '').'>'; _e('<!--:en-->Hungary<!--:--><!--:pl-->Wegry<!--:-->'); echo '</option>';
echo ' </select> ';
$row = 1;
$storedcities = array();
//if (($handle = fopen("aed_new_data.csv", "r")) !== FALSE) {
echo '<select name="city" id="city">';
echo '<option value="which_city">'; _e('<!--:pl-->- wybierz miejscowość -<!--:--><!--:en-->- choose place -<!--:-->'); echo '</option>';
//while (($data = fgetcsv($handle, 1000, "|")) !== FALSE) {
for($i=0;$i<sizeof($db_rows);$i++){
//echo '<pre>';print_r($db_rows[$i]);echo '</pre>';
if(!in_array($db_rows[$i][2], $storedcities)){
$selected = ($db_rows[$i][2] == $city_choice) ? 'selected="selected"' : '';
echo "<option value=\"".$db_rows[$i][2]."\" data-custom-type=\"".$db_rows[$i][1]."\" {$selected}>".$db_rows[$i][2]."</option>\n";
//$row++;
//for ($c=0; $c < $num; $c++) {
// echo $data[$c] . "<br />\n"; /*$line_of_text[0] == $city && */
//}
$storedcities[] = $db_rows[$i][2];
}
}
echo '</select>';
echo '<select name="city1" id="city1">';
echo '</select>';
//}
/*
echo '<select name="city">';
echo '<option value="which_city">'; _e('<!--:pl-->- wybierz miejscowo�� -<!--:--><!--:en-->- choose place -<!--:-->'); echo '</option>';
for($i = 0; $i < count($result2); $i++){
$selected = ($result2[$i] == $city_choice) ? 'selected="selected"' : '';
echo "<option value=\"{$result2[$i]}\" data-custom-type=\"{$result3[$i]}\" {$selected}>{$result2[$i]}</option>\n";
}
echo '</select>'; */
echo '<input id="pokaz" type="submit" value="'; _e('<!--:pl-->Pokaż<!--:--><!--:en-->Show<!--:-->'); echo '" name="go" />';
echo '</form>';
//echo "city = ".$_POST['city'];
//kod tabeli
if (isset($_POST['city1']) && $_POST['city1'] != 'which_city'){
$miasto = $_POST['city1'];
echo '<div style="overflow:scroll;height:325px;width:400px;overflow:auto">';
echo '<table class="aed-list" cellspacing="0">';
echo '<tr>
<td width=150px ><b>'; _e('<!--:pl-->Ulica<!--:--><!--:en-->Street<!--:-->'); echo '</b></td>
<td width=100px><b>'; _e('<!--:pl-->Lokalizacja<!--:--><!--:en-->Location<!--:-->'); echo '</b></td>
<td width=100px><b>'; _e('<!--:pl-->Uwagi<!--:--><!--:en-->Notes<!--:-->'); echo '</b></td>
</tr>';
for ($i = 0; $i < count($cityToLoc[$miasto]); $i++){
echo '<tr>';
echo '<td>' . $cityToLoc[$miasto][$i][1] . '</td>';
echo '<td>' . $cityToLoc[$miasto][$i][2] . '</td>';
if (is_numeric(trim($cityToLoc[$miasto][$i][3]))){
echo '<td> </td>';
}
else{
echo '<td>' . $cityToLoc[$miasto][$i][3] . '</td>';
}
echo '</tr>';
}
echo '</table>';
echo '</div>';
}
//kod mapki
if (isset($_POST['city1']) && $_POST['city1'] != 'which_city'){
echo '<script type="text/javascript">is_city = true;</script>';
}
echo '
<script type="text/javascript">
function initAddresses(){';
for ($i = 0; $i < count($cityToLoc[$miasto]); $i++){
echo "addresses.push(\"".trim($cityToLoc[$miasto][$i][1]).", ".trim($miasto)."\");";
echo 'infos.push("'.str_replace("\"","*",trim($cityToLoc[$miasto][$i][2])).'");';
//print_r($cityToLoc[$miasto]);
/*if (is_numeric(trim($cityToLoc[$miasto][$i][3]))){
echo '
var xy = new google.maps.LatLng('.trim($cityToLoc[$miasto][$i][3]).', '.trim($cityToLoc[$miasto][$i][4]).');
coord.push(xy);';
}
else if (is_numeric(trim($cityToLoc[$miasto][$i][4]))){
echo '
var xy = new google.maps.LatLng('.trim($cityToLoc[$miasto][$i][4]).', '.trim($cityToLoc[$miasto][$i][5]).');
coord.push(xy);';
*/
if($cityToLoc[$miasto][$i][4]){
echo '
var xy = new google.maps.LatLng('.trim($cityToLoc[$miasto][$i][5]).', '.trim($cityToLoc[$miasto][$i][4]).');
coord.push(xy);';
}
else {
echo 'coord.push(null);';
}
}
echo '
}
function codeAddress(loc, inf) {
var ind = fetchAddressIndex(loc);
if (!coord[ind]){
geocoder.geocode( { \'address\': loc}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
//map.setCenter(results[0].geometry.location);
addMarker(results[0].geometry.location, loc + "\n" + inf);
succ_num++;
coord[ind] = results[0].geometry.location;
} else {
//alert("Geocode was not successful for the following reason: " + status + "for local = " + loc);
}
//alert("codeAddresses() coord = "+coord);
});
}
else{
//alert("skorzystalem z podanych wspolrzednych");
addMarker(coord[ind], loc + "\n" + inf);
succ_num++;
}
}
</script>';
?>
<script type="text/javascript">
var um = $('#city');
var miasto = $('#city1');
var kr = $('#countries');
miasto.html(um.html());
kr.change(function(){
var val = $(this).val();
if (val) {
var new_html = '';
um.find('option[data-custom-type="'+val+'"]').each(function(){
new_html += this.outerHTML;
});
miasto.html(new_html);
}
else {
miasto.html(um.html());
}
});
</script>