只是一个简单的问题..我已经使用我的API密钥创建了一个谷歌地图。但是,如果我为应用程序创建地图,我应该使用自己的谷歌API密码。
任何人?有个好建议吗?
答案 0 :(得分:0)
您需要一些服务器端脚本才能存储用户提供的密码。
您的混淆可能实际上是加载密钥,因为它需要包含在脚本src
标记中。我将向您展示两者的一个例子。
首先获取存储的API_Key的某种类型的服务器端代码,你不需要使用asp c#..
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected string API_KEY;
protected void Page_Load(object sender, EventArgs e)
{
// Load your API key from wherever you stored it on the server (This ones from W3 Schools)
API_KEY = "AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM";
}
}
使用您的API密钥动态包含脚本源标记。
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Default.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
<script type="text/javascript">
var api_key_string = '<%= API_KEY %>';
var fileString = "http://maps.googleapis.com/maps/api/js?key=" + api_key_string + "&sensor=false"
var sourceString = "<script src=\"" + fileString + "\" type=\"text/javascript\"><\/script>";
document.write(sourceString);
</script>
<script>
function initialize() {
var mapProp = {
center: new google.maps.LatLng(51.508742, -0.120850),
zoom: 5,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("googleMap")
, mapProp);
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<div id="googleMap" style="width:500px;height:380px;"></div>
</asp:Content>