用php生成javascript函数
我试图根据mysql表生成javascript函数,并运行生成的function。当新的多边形坐标添加到数据库中时,我想更新我的google地图 文件上传和转换完成后启动加载功能:用php生成javascript函数,php,javascript,google-maps-api-3,Php,Javascript,Google Maps Api 3,我试图根据mysql表生成javascript函数,并运行生成的function。当新的多边形坐标添加到数据库中时,我想更新我的google地图 文件上传和转换完成后启动加载功能: function reloadMaps() { console.log("reloadMaps"); //$.get("pages/fields.php", function(data){$('#content').html(data);}); $.get("addMaps.php", fun
function reloadMaps() {
console.log("reloadMaps");
//$.get("pages/fields.php", function(data){$('#content').html(data);});
$.get("addMaps.php", function(data){$('#mapCoordsInclude').html(data);});
addMaps();
}
addMaps.php文件:
<script type="text/javascript">
function addMaps(){
clearMap();
console.log("paleistas update");
<?php
include "dbConfig.php";
// $r = mysql_query("SELECT `fields`.id as id, `fields`.coordinates as coordinates, `seedings`.culture_id as culture_id, `cultures`.color as color FROM `fields` INNER JOIN seedings ON `seedings`.field_id = `fields`.id INNER JOIN cultures ON `seedings`.culture_id = `cultures`.id where `fields`.farm_id = '4'" );
$r = mysql_query("SELECT id, coordinates from fields where coordinates !='' and farm_id = 4");
$fields = array();
while($field = mysql_fetch_assoc($r)){
$fields[$field['id']] = $field;
$cord = explode(';', $field['coordinates']);
unset($cord[count($cord)-1]);
echo "console.log(\"Naujausias laukas su koordinatemis ".$field['id']."\");\n";
echo "var laukas".$field['id'].";\n";
echo 'var polygonCoords = [';
foreach ($cord as $key => $c) {
if($key == count($cord)-1)
echo "new google.maps.LatLng(".$c.")";
else
echo "new google.maps.LatLng(".$c."),";
}
echo "];\n";
echo "laukas".$field['id']." = new google.maps.Polygon({
paths: polygonCoords, strokeColor: '#000000', strokeOpacity: 0.8, strokeWeight: 2, fillColor: '#000000', fillOpacity: 0.35, id: ".$field['id']." }); laukai.push(laukas".$field['id'].");\n";
}
?>
<?php
echo"\n";
foreach($fields as $key => $field)
{
echo " laukas". $field['id'].".setMap(map); google.maps.event.addListener(laukas".$field['id'].", 'click', showFieldInfo);\n";
}
?>
}
function showFieldInfo(event) {
if (document.getElementById('fields') != null) {
//alert(this.id);
var page = "pages/showField.php?id=";
page += this.id;
$.get(page, function(data){
$('#content').html(data);
});
}
}
</script>
函数addMaps(){
clearMap();
console.log(“paleistas更新”);
除了在php中生成函数,你能不能在ajax请求中只获得所需的数据,比如坐标?可能是这样,但我不知道如何做到这一点……但我找到了一个答案并做到了。效果很好。我在其他帖子中找到了答案:主要的想法是javascript需要重新加载,而不仅仅是重写。