0

データベースからのデータを表示するページがあります。jquery、php、および mysqli を使用してデータを表示しています。各レコードの特定のリンクにマウスを合わせると、その中に Google マップを含むツールチップが表示され、データベース内のそのレコードの緯度と経度に基づいてそのレコードの場所が表示されます。jquery ui ツールチップを使用しています。

ただし、Google マップをツールチップにするにはどうすればよいでしょうか。

<script type="text/javascript">

$(function() {
    $( document ).tooltip({

    });
  });

$(window).load(function () {
    $.get('process.php', function(data){
            $('.loading').hide();
            $('#chart').html( data );
        });

});

プロセス.php:

<?php
include_once ('./myfile.php'); 
//open database
$db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); //open db conn
if (mysqli_connect_errno()) {
            printf("Connect failed: %s", mysqli_connect_error());
            exit();
}       
$infoboxText = "";

//get list of each muni with its lat and lng    
$qGolf="SELECT * FROM golf";
$result_golf = $db->query($qGolf);
$infoboxText= "<table class='infoboxWindow'><tr><th>Course Name</th><th>Location</th><th>Phone</th><th>Holes</th><th>Daily Fee<br/>9 Holes</th><th>Daily Fee<br/>18 Holes</th><th>Weekend Fee<br/>9 Holes</th><th>Weekend Fee<br/>18 Holes</th><th>Cart Fee<br/>9 Holes</th><th>Cart Fee<br/>18 Holes</th><th>Tee Times</th></tr>";
while($golfList = $result_golf->fetch_array(MYSQLI_ASSOC)) { 

        //build the infobox text with a table to hold the data
        $infoboxText.="<tr><td>" .$golfList["Course_Name"] . "</td>";
        //$infoboxText.="<td><div title='This is a tooltip.' class='locate'>Show</div></td>";
        $infoboxText.="<td><a href='#' title='This is a tooltip.' class='locate'>Show</a></td>";
        $infoboxText.="<td>".$golfList["Phone"]."</td>";
        $infoboxText.="<td>".$golfList["Holes"]."</td>";
        $infoboxText.="<td>".$golfList["Daily_Fee_9_Holes"]."</td>";
        $infoboxText.="<td>".$golfList["Daily_Fee_18_Holes"]."</td>";
        $infoboxText.="<td>".$golfList["Weekend_Fee_9_Holes"]."</td>";
        $infoboxText.="<td>".$golfList["Weekend_Fee_18_Holes"]."</td>";
        $infoboxText.="<td>".$golfList["Cart_Fee_9_Holes"]."</td>";
        $infoboxText.="<td>".$golfList["Cart_Fee_18_Holes"]."</td>";
        $infoboxText.="<td>".$golfList["Tee_Times"]."</td></tr>";
        //close the table



}
$infoboxText.="</table>";
echo $infoboxText; //return the circles code here


?>

html:

<div class="loading">LOADING ...</div>
<div id="chart"> </div> 
4

1 に答える 1

1

私は過去にGoogle Static Maps APIを使用してこれを行いました。次のようなスパンがたくさんあります。

<a href="#" class="showMap">
<span class="googlemaps" data-image="http://maps.googleapis.com/maps/api/staticmap?zoom=13&amp;size=400x214&amp;markers=color:green|52.503679,13.448807&amp;sensor=false&amp;key=YOURKEY">Show map</span>
</a>

次に、data-image 属性を取得し、そこで定義された URL を呼び出し、そのコンテンツをツールチップとしてロードするすべてのスパンに添付された JavaScript があります。

// Capture the data-image attribute and attach tool tips to them
$(document).ready(function() {
    $("span.googlemaps[data-image]").tooltip({
        showURL: false,
        track: true,
        bodyHandler: function() {
            return $("<img/>").attr("src", $(this).attr("data-image"));
        },
        extraClass: "imgTooltip"
    });
});

これはjQuery Tooltip pluginを使用しています。これの実例をここで見ることができます。

于 2013-04-16T13:57:02.457 に答える