用js实现网页内嵌百度地图开发


http://ftp141294.host199.web522.com/myindex.php


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>楼市地图</title>

<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.5&ak=45eaca6f2e8f4a1d60b294d4361eac7e&services=true"></script>   
<style type="text/css">
a{text-decoration:none;color:#6ce;font-size:14px;}
a:hover{text-decoration:underline;}
</style>
</head>
<body>
<div style="float:left;width:100%;height:63px;border:0px solid gray" id="header">
<div id="nav" style="float:left;width:100%;height:23px;background:#E5ECF9; margin-top:40px " ></div>
</div>


<div style="float:left;width:84%;height:700px;border:1px solid gray" id="container"></div>
<div style="float:left;width:15%;height:700px;border:0px dashed gray;border-width:0px 0px 0px 0;padding:0 10px 0 0;line-height:1.8em;">
    <ul>
    <?php

    /**
     *  连接数据库
     */
 
 /*
 	 $mysql_server_name="localhost";         // 数据库服务器名称 183.238.59.144
    $mysql_username="zjwdb_125945";                 // 连接数据库用户名
    $mysql_password="8LC2UKCI4";                 // 连接数据库密码
    $mysql_database="zjwdb_125945";                  // 数据库的名字
*/

    $mysql_server_name="localhost";         // 数据库服务器名称 183.238.59.144
    $mysql_username="root";                 // 连接数据库用户名
    $mysql_password="123456";                 // 连接数据库密码
    $mysql_database="y_map";                  // 数据库的名字
    
    // 连接到数据库
    $conn=mysql_connect($mysql_server_name, $mysql_username,$mysql_password) 
            or die("Could not connect: ".mysql_error());
    
    // 从表中提取信息的sql语句
    $strsql="select * from y_map";
    // 执行sql查询
	mysql_query("SET NAMES UTF8"); 
    $result=mysql_db_query($mysql_database, $strsql, $conn);
    
    // 获取查询结果
    $arr_point = '[';
    $maker = '';
    $ops = '';
    $i = 0;
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
        $img = '';
        echo '<li>
               
                <a οnmοuseοver="openMyWin(infoWindow'.$i.',point['.$i.'])" href="#">'.$row['title'].'</a>
             </li>';

        $arr_point .= 'new BMap.Point('.$row["point"].'),';
        
        $maker .= 'var marker'.$i.' = new BMap.Marker(point['.$i.'],{icon:myIcon});
		var myLabel = new BMap.Label("'.$row['title'].'",   
    	{offset:new BMap.Size(10,-10),                 
   	 	position:point['.$i.']});                               
		myLabel.setTitle("'.$row['title'].'");		
		marker'.$i.'.setLabel(myLabel);
		myLabel.setStyle({                  //给label设置样式,任意的CSS都是可以的
		color:"white",                   	//颜色
		fontSize:"12px",               		//字号
		border:"0",                    		//边
		height:"35px",                		//高度
		width:"106px",                 		//宽
		textAlign:"center",            		//文字水平居中显示
		lineHeight:"18px",            		//行高,文字垂直居中显示
		background:"url(./img/lg2.png)",    //背景图片,这是房产标注的关键!
		cursor:"pointer"
	});';			

        $addverlay .= 'map.addOverlay(marker'.$i.');';

        $ops .= 'var opts'.$i.' = {offset : new BMap.Size(0, -25), title : \'<span style="font-size:14px;color:#0A8021">'.$row['title'].'</span>\'};';
        for($m = 0;$m < $row["level"];$m++)
        {
            $img .= "<img src='http://cdn2.iconfinder.com/data/icons/diagona/icon/16/031.png' />";
        }
        $infoWindow .= "var infoWindow".$i." = new BMap.InfoWindow(\"<div style='line-height:1.8em;font-size:12px;'><b>地址:</b>".$row['address']."</br><b>电话:</b>010-59921010</br><b>口碑:</b>".$img."<a style='text-decoration:none;color:#2679BA;float:right' href='#'>详情>></a></div>\", opts".$i.");";
        $addEventListener .= 'marker'.$i.'.addEventListener("mouseover", function(){this.openInfoWindow(infoWindow'.$i.');});';
        $i++;
    }
    $arr_point = substr($arr_point , 0 , -1).']';
    ?>

    </ul>
</div>
</body>
</html>
<script type="text/javascript">
var map = new BMap.Map("container");
var point = new BMap.Point(116.404, 39.915);
map.centerAndZoom(point, 14);
map.addControl(new BMap.NavigationControl());  //向地图添加控件
map.addControl(new BMap.NavigationControl());    
map.addControl(new BMap.ScaleControl());    
map.addControl(new BMap.OverviewMapControl());    
map.addControl(new BMap.MapTypeControl());  
map.enableScrollWheelZoom();

var myIcon = new BMap.Icon("./img/lg2.png", new BMap.Size(108, 37), {    //小车图片
  imageOffset: new BMap.Size(10, -40)    //图片的偏移量。为了是图片底部中心对准坐标点。
 });
</script>

<?php
    echo '<script> var point = '.$arr_point.';  ';    // 坐标点
    echo $maker;                                      // 创建标注	
    echo $addverlay;                                  // 将标注添加到地图中
    echo 'map.setViewport(point); ';                  // 调整地图的最佳视野为显示标注数组point
    echo $ops ;
    echo $infoWindow ;
    echo $addEventListener.' </script> '
?>

<script>
function openMyWin(id,p){
    map.openInfoWindow(id,p);    
}
</script>


参考:

http://www.cnblogs.com/milkmap/archive/2011/08/16/2135323.html

http://www.cnblogs.com/milkmap/archive/2011/08/24/2151073.html




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值