0
因此,我構建了一個簡單的商店定位器,花了數小時的時間試圖讓它起作用,並最終意識到問題是Google地圖不會允許您將iframe整個頁面。有沒有什麼工作可以讓它顯示出來?或者一種方法去做沒有iframe的事情?將谷歌地圖用於商店定位器
理想情況下,如果沒有頁面的其餘部分,地圖本身就會很好,但是我找不到一個不需要數據庫或某種數據文件的API的方法,太多的商店位置隨時都在變化以跟上這一點。
這是我到目前爲止。
的標記:
<%@ Page Title="HelixMix | Where To Buy" Language="C#" MasterPageFile="~/Site.master"
AutoEventWireup="true" CodeFile="WhereToBuy.aspx.cs" Inherits="WhereToBuy" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript">
function reloadFrame(Map) {
document.getElementById(Map).contentDocument.location.reload(true);
}
</script>
<script type="text/javascript">
function selectStore() {
document.write("Please select at least one store."); // Change location on page...
}
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<div id="Locator">
Zip code:
<asp:TextBox ID="TextBox1" placeholder="Zip code" runat="server"></asp:TextBox>
<div class="personalSpace">Which store would you like to search for? Please choose only one.</div>
<ul id="stores">
<li>Store name 1:
<asp:RadioButton ID="RadioButton1" runat="server" />
</li>
<li>Store name 2:
<asp:RadioButton ID="RadioButton2" runat="server" />
</li>
<li>Store name 3:
<asp:RadioButton ID="RadioButton3" runat="server" />
</li>
<li>Store name 4:
<asp:RadioButton ID="RadioButton4" runat="server" />
</li>
<li>Store name 5:
<asp:RadioButton ID="RadioButton5" runat="server" />
</li>
</ul>
<asp:Button ID="Button1" runat="server" Text="Find locations" OnClick="Button1_Click" />
<div>
<iframe id="Map" runat="server"></iframe>
</div>
</div>
</asp:Content>
背後的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
public partial class WhereToBuy : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Map.Visible = false;
}
protected void Button1_Click(object sender, EventArgs e)
{
Map.Visible = true;
string zipCode = TextBox1.Text;
string SearchURL = "";
int store = 0;
if (RadioButton1.Checked)
{
store = 1;
}
if (RadioButton2.Checked)
{
store = 2;
}
if (RadioButton3.Checked)
{
store = 3;
}
if (RadioButton4.Checked)
{
store = 4;
}
if (RadioButton5.Checked)
{
store = 5;
}
switch (store)
{
case 1:
SearchURL = "https://www.google.com/maps/preview#!q=gnc+near%3A+";
break;
case 2:
SearchURL = "https://www.google.com/maps/preview#!q=gnc+near%3A+"; //Change store name
break;
case 3:
SearchURL = "https://www.google.com/maps/preview#!q=gnc+near%3A+"; //Change store name
break;
case 4:
SearchURL = "https://www.google.com/maps/preview#!q=gnc+near%3A+"; //Change store name
break;
case 5:
SearchURL = "https://www.google.com/maps/preview#!q=gnc+near%3A+"; //Change store name
break;
default:
Page.RegisterClientScriptBlock("Select store", "<script>\n selectStore(); \n </script>"); //Rewrite flow to not load iframe if this executes... Back to new search...
break;
}
Map.Attributes.Add("src", SearchURL + zipCode);
Page.RegisterClientScriptBlock("Reload", "<script>\n reloadFrame('Map'); \n </script>");
}
}
您是否嘗試過Google Maps API?這太好了。 – Seano666
現在是否有能力嵌入地圖,可以通過郵政編碼搜索附近的任何商店名稱列表,並在沒有本地數據庫的情況下完成所有這些操作?如果這樣做會很棒,但我認爲它不會。 – Blake