使用谷歌地图、C#、ASP.net、SQL Server显示带有标记的地图.地图未显示
Using Google Maps, C#, ASP.net, SQL Server to show Map with Markers. Map not displayed
我知道有很多问题与此有关,但我的问题很具体。我用的是一篇网上文章中的一个例子。这是我的代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="GoogleMapsAPItesting.WebForm1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Google Maps Markers</title>
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?key=InsertAPIKeyhere&sensor=false">
</script>
<script type="text/javascript">
function initialize() {
}
</script>
</head>
<body onload="initialize()">
<form id="WebForm1" runat="server">
<div id="mapArea" style="width: 500px; height: 500px;">
</div>
<asp:Literal ID="Literal1" runat="server"></asp:Literal>
</form>
</body>
</html>
以及C#背后的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
namespace GoogleMapsAPItesting
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string markers = GetMarkers();
Literal1.Text = @"
<script type=’text/javascript’>
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(28.3213, 77.5435),
zoom: 2,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var myMap = new google.maps.Map(document.getElementById(‘mapArea’),
mapOptions);" + markers + @"}
</script>";
}
protected string GetMarkers()
{
string markers = "";
SqlConnection conn = new SqlConnection();
conn.ConnectionString =
"Data Source=FakeServer;" +
"Initial Catalog=FakeInitCatalog;" +
"User id=FakeUID;" +
"Password=FakePass;";
{
SqlCommand cmd = new SqlCommand("SELECT Latitude, Longitude, City FROM Locations", conn);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
int i = 0;
while (reader.Read())
{
i++;
markers +=
@"var marker" + i.ToString() + @" = new google.maps.Marker({
position: new google.maps.LatLng(" + reader["Latitude"].ToString() + ", " +
reader["Longitude"].ToString() + ")," +
@"map: myMap,
title:’" + reader["City"].ToString() + "’});";
}
}
return markers;
}
}
}
当我运行这个程序时,地图不会显示,只是一个空白页面。如果我将C#代码作为literal1,并将其放置在HTML/Asp页面中,则会加载映射(但不会放置标记)。我觉得我只是少了一块。我真的很感激你的建议。
谢谢。
您似乎使用了排版单引号"'"而不是编程单引号"。
参见
... script type=’text/javascript’ ...
document.getElementById(‘mapArea’) ...
title:’" + reader["City"].ToString() + "’
以下修改后的代码适用于
protected void Page_Load(object sender, EventArgs e)
{
string markers = GetMarkers();
Literal1.Text = @"
<script type='text/javascript'>
function initialize() {
var mapOptions = {
center: new google.maps.LatLng(28.3213, 77.5435),
zoom: 2,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var myMap = new google.maps.Map(document.getElementById('mapArea'),
mapOptions);" + markers +
@"
}
</script>";
}
protected string GetMarkers()
{
string markers = "";
float latitude = 28.3213f;
float longitude = 77.5435f;
for (var i = 0; i < 10; i++)
{
i++;
markers +=
@"var marker" + i.ToString() + @" = new google.maps.Marker({
position: new google.maps.LatLng(" + (latitude + i).ToString() + ", " +
(longitude + i).ToString() + ")," +
@"map: myMap,
title:'" + "City" + i.ToString() + "'});";
}
return markers;
}
相关文章:
- 地图API没有't显示地图
- 单击按钮以突出显示地图标记 (Gmaps) - 如何
- 谷歌地图API没有;t显示地图,如果中心由javascript函数填充
- 将PHP集成到Javascript中,使用Google API显示地图标记
- IE中的谷歌地图API v3不显示地图或标记
- 数据映射不是't显示地图
- 谷歌地图隐藏并显示地图
- 在谷歌地图中显示地图标记内容的事件
- 映射:单击标记,显示地图旁边的内容
- 谷歌地图没有显示地图上的所有目的地标记,只有第一个和最后一个
- 如何在另一页上显示地图并全屏查看
- 谷歌地图 - 通过使用php检索纬度和纵向来显示地图和标记
- 单击时显示地图,然后滚动到地图
- 在 JavaScript 循环中显示地图标记的 JSON 解析数据
- 如何更新和显示地图对象
- 必应地图显示地图的左上角的北美
- 谷歌地图功能,但不显示地图
- 如何在选择html元素时高亮显示地图标记
- 获取用户's附近没有显示地图与谷歌地图api v3
- 显示地图的“切换街景地图的问题”