PHP-код перезагрузки Google Fusion Table - PullRequest
0 голосов
/ 30 ноября 2011

У меня есть карта Google Fusion Tables, в которой используется раскрывающееся меню для выбора точек на основе столбца.

Карта работает нормально, пока я не попытался придумать.Я попытался использовать php API, чтобы просто отобразить выбранное значение раскрывающегося списка.Это работает, но карта перезагружается.Есть ли способ избежать перезагрузки карты и формы?

Как вы можете сказать, я немного новичок в PHP, поэтому, пожалуйста, простите меня, если я неясен.

<!DOCTYPE html>
<html>
<head>
<style>
#map_canvas { width: 500px; height: 400px; }
</style>

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false">    
</script>
<script type="text/javascript">
var map;

var layer;
var tableid = xxxxxx;

function initialize() {
map = new google.maps.Map(document.getElementById('map_canvas'), {
center: new google.maps.LatLng(38.98610025220408, -76.85897827148438),
zoom: 10,
mapTypeId: google.maps.MapTypeId.ROADMAP
});

layer = new google.maps.FusionTablesLayer(tableid);
layer.setQuery("SELECT 'lat' FROM " + tableid);
layer.setMap(map); 
}

function changeMap() {
var searchString = document.getElementById('searchString').value.replace("'", "\\'");
if(searchString == "") {
layer.setQuery("SELECT 'lat' FROM " + tableid);
return;
}
layer.setQuery("SELECT 'lat' FROM " + tableid + " WHERE 'Unit' = '" + searchString + "'");
}
</script>

</head>
<body onload="initialize();">

<div id="map_canvas"></div>

<div style="margin-top: 10px;">
<form method="post" action="<?php echo $PHP_SELF;?>">
<label>Unit </label>
<select class="dropdown" id="searchString" name="searchString">
<option value="">--Select--</option>
<option value="Ft Chaplin">Ft Chaplin</option>
<option value="Ft Davis">Ft Davis</option>
<option value="Ft Stanton">Ft Stanton</option>
<option value="Lower">Lower</option>
<option value="Middle">Middle</option>
<option value="Nash Run">Nash Run</option>
<option value="Piney Run">Piney Run</option>
<option value="Stickfoot">Stickfoot</option>
<option value="Upper">Upper</option>
</select>
<input type="submit" class="mapit"   onClick=" changeMap();" name="submit" value="Map it!"  align="middle">
</form>
</div>
<?php

include('../maps/client_login/clientlogin.php');
include('../maps/client_login/sql.php');
include('../maps/client_login/file.php');
$tableid = xxxxxx;
$username = "xxxx";
$password = "xxxx";
$token = ClientLogin::getAuthToken($username, $password);
$ftclient = new FTClientLogin($token);

$condition = $_POST["searchString"];


echo "These Projects are in ".$condition."";
?>
</body>
</html>`

1 Ответ

0 голосов
/ 30 ноября 2011

Кнопка:

<input type="submit" class="mapit"   onClick=" changeMap();" name="submit" value="Map it!"  align="middle">

отправляет форму и перезагружает страницу.

Заменить его кнопкой:

<button class="mapit" onclick="changeMap()">Map It!</button>
...