好的,我正在开展一个项目,最终用户将点击网格中将打开新窗口的链接。 (.aspx页面)我一直在研究如何从新打开的.aspx页面创建一个谷歌地图,而不是在后面的代码中编写一堆动态javascript,然后将clientscript注册到页面。我过去做过这个,但它真的不漂亮,如果你需要回来换东西真的很麻烦。
此地图的初始版本将有一个存在多个点的路线,其后一个版本将提供在同一地图中拥有多条路线的能力(只是为了让您概述最终目标是什么)例如,洛杉矶到拉斯维加斯到奥斯汀的路线。
所以,我知道这是一个非常笼统/模糊的问题,但我想弄清楚的是从.aspx页面生成谷歌地图而不编写动态sql的最好方法,我相信其他人偶然发现了这个问题以前。思想/评论,一切都表示赞赏。感谢。
答案 0 :(得分:1)
网上有一些组件浮动,但是对我来说效果很好的一种方法是使用隐藏字段来保存地址/坐标等,并使用隐藏字段填充地图:
<script type="text/javascript">
var map = null;
var geocoder = null;
var address = "<%=hdnMapAddress.Value%>";
showAddress = function() {
var mapContainer = $get("<%=pnlMap.ClientID%>");
if (mapContainer){
if (GBrowserIsCompatible()){
geocoder = new GClientGeocoder();
map = new GMap2(document.getElementById("<%=pnlMap.ClientID%>"));
}
if (geocoder){
geocoder.getLatLng(address,
function(point){
var marker = new GMarker(point);
if (marker){
map.setCenter(point, 12);
map.addOverlay(marker);
}
}
);
}
}
}
</script>
<asp:HiddenField ID="hdnMapAddress" runat="server" />
<asp:Panel ID="pnlMap" runat="server" Height="230">
<!-- map content -->
</asp:Panel>
代码隐藏:
hdnMapAddress.Value = "123 Test St, Providence, RI 02904";