2015-09-14 75 views
0

很新的PHP/Wordpress 我看了一百万个地方,但发现很少帮助我。我试图从数据库中加载位置并显示在wordpress页面上(自定义插件正在制作),然后将结果映射到Google地图实例。地址已经很长。谷歌地图帮助放置标记

我可以加载并显示在页面上,但不会在地图上放置标记。任何帮助,将不胜感激。

地图实例

<script> 
function initialize($Item) 
{ 
var mapProp = { 
    center:new google.maps.LatLng(53.548099, -113.522532), 
    zoom:18, 
    mapTypeId:google.maps.MapTypeId.SATELLITE 
    }; 
var map=new google.maps.Map(document.getElementById("map") 
    ,mapProp); 
echo ("addMarker($lat, $lon,'<b>$name</b><br/>$desc');\n"); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 
</script> 

DB工作

if(isset($_POST['SubmitButton'])){ //check if form was submitted 

// Set variables 
$data = array(); 
$input = $_POST['text']; //get input text 
$table = $_POST['field']; //get Table 
$org = $_POST['org']; 

// Check if input is empty 

if(!empty($input)){ 

// Debug line comment out 
// echo "<script type='text/javascript'>alert('You Entered: ".$input." from ".$table." looking for ".$org."');</script>"; 

global $wpdb; 

// Check if Organization set to all or something else 
if ($_POST['org'] == "All") { 

$feed = $wpdb->get_results("SELECT * from wp_NBDonation where $table  like '%{$input}%' order by Type;"); 
} else { 

$feed = $wpdb->get_results("SELECT * from wp_NBDonation where $table  like '%{$input}%' and Type in('$org','Both');"); 
} 

echo "<ul id='list'>"; 
// if 0 results display message 
    if($feed==null){ 
     echo "<script type='text/javascript'>alert('No results found.');</script>"; 
    }else{ 

if(is_array($feed) && count($feed) > 0) { 
foreach($feed as $item){ 
    $data[] = $feed; 
    echo "<li id='item'>"; 
    echo "<h2>".$item->Type."<br>"; 
    echo $item->Name."</h2>"; 
    echo "<hr>"; 
    echo "<span id='head'>Address:</span><br>"; 
    echo $item->Address."<br>"; 
    echo $item->City." ".$item->State_Province."<br>"; 
    echo $item->Postalcode."<br>"; 
    echo "<br>"; 
    echo "<span id='head'>Phone:</span> ".$item->ContactNumber." <br>"; 
    echo "<span id='head'>Email: </span> <a href='mailto:".$item->Email."?Subject=Donation Inquiry'>".$item->Email." </a><br>"; 
    echo "<span id='head'>Website: </span> <a href='http://".$item->Website."'target=_blank>".$item->Website."</a><br>"; 
    echo "<br>"; 
    echo "<span id='head'>Instructions:</span><br>"; 
    echo $item->ContactInstructions."<br><br>"; 
    echo "<span id='head'>Payment Method: </span><br>"; 
    echo $item->PaymentMethod."<br>"; 
    echo "</li>"; // closes Item 
    $lat=$Item->lat; 
    $lon=$Item->lng; 
    $name=$Item->Name; 
    $desc=$Item->Type; 

} // end ForEach 
} // end if array 
} // end if null 
echo "<script type='text/javascript'>alert(print_r($data));</script>"; 

?> 
<div id='map'></div> 
+0

到底是什么问题?你只说了你想做的事情。 – csmckelvey

+0

对不起,我可以加载并显示在页面上,但不会在地图上放置标记。 – Jeremy

回答

0

我不知道是什么AddMarker()功能的的initialize内部参考。

Google Maps API reference for Markers提出两种方法来创建标记:

  1. 使用new google.maps.Marker()使用var marker = new google.maps.Marker()您的初始化函数以外的初始化 功能
  2. 内,然后调用marker.setMap()