繁体   English   中英

asp.net->谷歌地图api->从.aspx页面创建地图的最佳方法

[英]asp.net -> google maps api -> Best way to create a map from an .aspx page

好的,我正在一个项目中,最终用户将在网格中单击链接,这将打开一个新窗口。 (.aspx页面)我一直在研究如何从新打开的.aspx页面创建google map,而无需在后面的代码中编写一堆动态javascript,然后将clientscript注册到该页面。 我过去曾经这样做过,但是如果您需要返回并进行更改,它确实不是很漂亮,而且非常麻烦。

该地图的初始版本将具有一条包含多个点的路线,此地图的更高版本将使您能够在同一地图内拥有多个路线(只是为您提供最终目标的概述)。一条从洛杉矶到拉斯维加斯到奥斯丁的路线。

因此,我知道这是一个非常笼统/模糊的问题,但是我想找出的是从.aspx页面生成google地图而不编写动态sql的最佳方法,我敢肯定其他人以前也曾偶然发现过此问题。 想法/评论,一切都受到赞赏。 谢谢。

在线上有一些组件,但是对我来说一种行之有效的方法是使用隐藏字段保存地址/坐标/等,然后使用隐藏字段填充地图:

<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";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM