2023年3月

这个其实是我看到了百度地图API中官方手册后,慢慢摸索的代码,也就是说东凑西凑的代码。

注意,我使用的是ASP.NET,但是客户端一部分实际上还是js。

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Transport1.aspx.cs" Inherits="WebApplication3.Transport.Transport1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
<title>my dear</title>  
<script type="text/javascript" src="https://api.map.baidu.com/api?v=1.0&&type=webgl&ak=你的百度API密钥" >
</script>

</head>
<body>
    <form id="form1" runat="server"></form>
       <div style="width:730px;margin:auto;">  
        要查询的地址:<input id="text_" type="text" value="" style="margin-right:100px;"/>
        查询结果(经度):<input id="result_" type="text" />
        查询结果(纬度):<input id="result_1" type="text" />
        查询结果(时间):<input id="time_" type="text" />
        查询结果(路程):<input id="road_" type="text" />
        <input type="button" value="查询" onclick="searchByStationName();"/>
           <input type="button" value="路径选择" onclick="searchRoute();" />
           <div id="container"
            style="position: absolute;
                margin-top:30px;
                width: 730px;
                height: 590px;
                top: auto;
                border: 1px solid gray;
                overflow:hidden;">
        </div>
    </div>
</body>
<script type="text/javascript">
    var map = new BMapGL.Map("container");//在container中新建一个地图
    map.enableScrollWheelZoom();    //启用滚轮放大缩小,默认禁用
    var myGeo = new BMapGL.Geocoder();
    var localSearch = new BMapGL.LocalSearch(map);
    localSearch.enableAutoViewport();
    map.addEventListener('click', function (e) {//点击标记开始读取地点经纬度,这是因为百度地图的api我最开始仅仅找到了根据经纬度查询的方法
        document.getElementById("result_").value = e.latlng.lng;
        document.getElementById("result_1").value = e.latlng.lat;
    });
    function searchByStationName() {//进行输入地点的查询
        var keyword = document.getElementById("text_").value;
        myGeo.getPoint(keyword, function (point) {
            if (point) {
                map.centerAndZoom(point, 16);//这是我们输入的地址,后面16是地图打开的样式,这个16是可以更改的
                map.addOverlay(new BMapGL.Marker(point, { title: keyword }))//在找到的点处做好标记
            } else {
                alert('您选择的地址没有解析到结果!');
            }
        }, '中国')
    }

    function searchRoute() {
        var output1 = "";
        var output2 = "";
        var searchComplete = function (results) {
            if (transit.getStatus() != BMAP_STATUS_SUCCESS) {
                return;
            }
            var plan = results.getPlan(0);
            output1 += "总时间为:";
            output1 += plan.getDuration(true) + "\n";                //获取时间
            output2 += "总路程为:";
            output2 += plan.getDistance(true) + "\n";             //获取距离
        }
        var transit = new BMapGL.DrivingRoute(map, {
            renderOptions: { map: map },
            onSearchComplete: searchComplete,
            onPolylinesSet: function () {
            setTimeout(function () { document.getElementById("time_").value = output1, document.getElementById("road_").value = output2 }, "1000");
            }
        });
        var start = new BMapGL.Point(119.876341, 18.749703);//这里输入起点的经纬度,这两个值都可以变
        var end = new BMapGL.Point(document.getElementById("result_").value, document.getElementById("result_1").value);
        transit.search(start, end);
    }
</script> 
</html>

输出结果

<!DOCTYPE html>
<html>
<head>
	<title>列表</title>
</head>
<body>
<!--无序列表-->
<ul>
	<li>时间</li>
	<li>地点</li>
</ul>
<!--有序列表-->
<ol type="a">
	<li>西南</li>
	<li>东南</li>
</ol>
<!--定义列表-->
<dl>
	<dt>第一名</dt>
	<dd>张三</dd>
</dl>
<!--嵌套列表-->
<ul>
	<li>Web开发工具</li>
	<ol>
		<li>notepad++</li>
		<li>Dw</li>
	</ol>
</ul>
</body>
</html>

输出结果:

1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Web;5 using System.Web.UI;6 using System.Web.UI.WebControls;7 using System.Collections;8 
9 namespace WebApplication3.Transport10 {11 public partial class WebForm2 : System.Web.UI.Page12 {13 static string str1 = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["User"].ToString();14 DataClasses1DataContext Den = new DataClasses1DataContext();15 protected void Page_Load(object sender, EventArgs e)16 {17             
18 }19 
20 protected void Button1_Click(object sender, EventArgs e)21 {22 int i = 0;23 var count1 = (from deng in Den.businf where deng.status == 2 select deng.busid);//从数据库中搜索出指定的字段24 foreach (var bus1 in count1)25 {26 if(bus1.Replace(" ","")==TextBox1.Text.Replace(" ",""))//将数据库中找出来的数据和textbox中的数据进行比较27 {28 i++;29 }30 }31 TextBox2.Text = i.ToString();32 }33 
34 public ArrayList GetSeparateSubString(string txtString, int charNumber)//用于截取定长的字符串35 {36 ArrayList arrlist = new ArrayList();37 string tempStr = txtString;38             for (int i = 0; i <tempStr.Length; i += charNumber)39             {40 if ((tempStr.Length - i)>charNumber)//如果是,就截取41 {42 arrlist.Add(tempStr.Substring(i, charNumber));43 }44 else45 {46 arrlist.Add(tempStr.Substring(i));//如果不是,就截取最后剩下的那部分47 }48 }49 return arrlist;50 }51 }52 }

上面 的为后端代码:

前端代码就是一个textbox,还有一个botton,这里就不贴代码了,随便拖两个就能行。

这里需要解释的几个地方是,因为我们数据库中的nchar(n)中,括号里面的n是30,40这样变化的,然后我们从数据库中读取出来的时候,会造成一个局面就是我们的textbox中的字符串看起来和数据库中的值是一样的,然后我们比较出来却不相等,例如我上面的botton_click代码,如果没有replace语句,将读取出来字符串中的空格变成空,就不可能相等。

第二个需要解释的地方是:我们使用arraylist,必须引用
using System.Collections;然后str.substring(i),就是将字符串str截取为定长为i的字符串了。

<table>元素允许的内容:

-
caption
:表示一个表格的标题,它常常作为<table>的第一个子元素出现,同时显示在表格内容的最前面。

现在在一些网页中我们还能见到align的使用,但是已经不建议这样做了,如果我们想要实现相同的样式,可以使用css。

-
colgroup
:用来定义表中的一组列表。搭配着col使用。

-
thead
:定义了一组定义表格的列头的行。

-
tbody
:表格的主体。

-
tr
:表格的行,搭配th和tr使用,th表示表格中的列里面有标题意味的项,td就是我们平常说的列了,就算我们不设置表格的样式,它也会自动给我们提供样式,比如居中,加粗。<th>还有一个比较好用的两个属性:colspan和rowspan.其中colspan赋给相应的整数值,会合并相应的列数、rowspan赋给相应的整数值,会合并相应的行数。使用方法就是:

<table>
      <tr>
        <thcolspan="2"scope="rowspan">The element</th>
      </tr>
    </table>

上面的scope可以不写,它是一种将表头单元与数据单元相关联的方法,用于标识某个单元是否是列、行、列组或行组的表头,屏幕阅读器可以利用该属性。

-
tfoot
:定义了一组表格中各列的汇总行。

案例:

<!DOCTYPE html>
<htmllang="en">
    <head>
        <metacharset="utf-8">
    </head>
    <body>
        <tableborder="5">
            <caption>餐食的一些数据(资料取自<ahref="https://github.com/Dnijia/learnHtml/blob/main/task4_table/food.txt">cupcakes kale
chips
</a>,图片取自<ahref="https://github.com/Dnijia/learnHtml/tree/main/task4_table/img">cupcakes kale
chips图片库
</a>)</caption> <thead> <tr> <thcolspan="2"rowspan="2">&nbsp;</th> <throwspan="2">名字</th> <throwspan="2">图片</th> <throwspan="2">Calories</th> <thcolspan="4">Fat</th> <throwspan="2">cholesterol(mg)</th> <throwspan="2">sodium(mg)</th> <throwspan="2">VitaminA(IU)</th> </tr> <tr> <thheight="20px">Saturated Fat(g)</th> <th>Trans Fat(g)</th> <th>Polyunsaturated Fat(g)</th> <th>Monounsaturated Fat(g)</th> </tr> </thead> <tbody> <tr> <throwspan="8">breakfast</th> <tr> <throwspan="4">bread</th> <tr> <td>Gluten-Free Bread</td> <td>&nbsp;</td> <td>134</td> <td>1g</td> <td>1g</td> <td>1g</td> <td>3g</td> <td>20</td> <td>162</td> <td>30</td> </tr> <tr> <td>Gluten-Free Cinamon Raisin Bagels</td> <td>&nbsp;</td> <td>390</td> <td>1g</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>92</td> <td>914</td> <td>130</td> </tr> </tr> <tr> <tr> <throwspan="4">drinks</th> <tr> <td>Chocolate pumpkim Smoothie</td> <td>&nbsp;</td> <td>297</td> <td>3</td> <td>&nbsp;</td> <td>1</td> <td>2</td> <td>10</td> <td>324</td> <td>22021</td> </tr> <tr> <td>Peanut Butter and Jelly Smoothie</td> <td>&nbsp;</td> <td>480</td> <td>5</td> <td>&nbsp;</td> <td>5</td> <td>8</td> <td>10</td> <td>209</td> <td>&nbsp;</td> </tr> </tr> </tr> </tr> </tbody> <tbody> <tr> <throwspan="8">lunch</th> <tr> <throwspan="4">cuisine</th> <tr> <td>Gluten-Free Bread</td> <td>&nbsp;</td> <td>134</td> <td>1g</td> <td>1g</td> <td>1g</td> <td>3g</td> <td>20</td> <td>162</td> <td>30</td> </tr> <tr> <td>Gluten-Free Cinamon Raisin Bagels</td> <td>&nbsp;</td> <td>390</td> <td>1g</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>&nbsp;</td> <td>92</td> <td>914</td> <td>130</td> </tr> </tr> <tr> <tr> <throwspan="4">sandwishes</th> <tr> <td>Chocolate pumpkim Smoothie</td> <td>&nbsp;</td> <td>297</td> <td>3</td> <td>&nbsp;</td> <td>1</td> <td>2</td> <td>10</td> <td>324</td> <td>22021</td> </tr> <tr> <td>Peanut Butter and Jelly Smoothie</td> <td>&nbsp;</td> <td>480</td> <td>5</td> <td>&nbsp;</td> <td>5</td> <td>8</td> <td>10</td> <td>209</td> <td>&nbsp;</td> </tr> </tr> </tr> </tr> </tbody> </table> </body> </html>

注:以上案例内容来源于:http://ife.baidu.com/%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8%E7%8F%AD/1-html/table.html

1、首先,我们必须得知道什么是盒模型,其实这个就类似于我们的一个打开的鞋盒子(这个比较好理解),

最外面那个,其实就是我们打开的浏览器时页面显示出来的样子。

<!DOCTYPE html>
<html>
<head>
	<title>设置边距shuxing</title>
	<style type="text/css">
		<!--
		.b1{
			margin: 25px;
			border: 10px double green;
		}
		.b2{
			border: 8px solid red;
			padding: 35px 10px 15px 25px;
		}
		-->
	</style>
</head>
<body>
     <h2>设置填充属性</h2>
     <p class="b1">该段文字的内容和边框之间没有设置空白距离</p>
     <p class="b2">该段文字正好相反</p>     
</body>
</html>

输出 结果: